matlab下怎样把结果按格式输出

来源:百度知道 编辑:UC知道 时间:2024/05/28 23:51:53
1 2335 -5855 2560
2 2342 -5861 2562
3 2340 -5853 2564
4 2332 -5862 2558
5 2333 -5852 2567
......
以上是date.txt文件的n行四列数,第一列是time,第二列是X,第三列是Y,第四列是Z。
进行一下求方差处理后,需要把结果按时间输出。
load date.txt;
Output=date;
t=Output(:,1);
x=Output(:,2);
y=Output(:,3);
z=Output(:,4);
p=sqrt(x.^2+y.^2+z.^2);
p_min2max=sort(p);
p_err2sigma=p_min2max(floor(0.683*length(p_min2max)));
Variant_P=x.^2+y.^2+z.^2;
n=length(Variant_P);
clear n;
sigma_x=std(x);
sigma_y=std(y);
sigma_z=std(z);
sigma_p=sqrt(sigma_x*sigma_x+sigma_y*sigma_y+sigma_z*sigma_z);

想把结果输出为文本文档,期望的格式为
1 sigma_x sigma_y sigma_z sigma_p
2 sigma_x sigma_y sigma_z sigma_p
3 sigma_x sigma_y sigma_z sigma_p
4 sigma_x sigma_y sigma_z sigma_p
......
每个时间对应的方差都是此时间前面所有数据的方差(不包括后面的数据)。

我应该如何修改这个程序?
谢谢。

我不知道既然只要输出sigma_x sigma_y sigma_z sigma_p为什么前面还要求p、p_min2max、p_err2sigma、Variant_P。

下面是程序。
clear;clc;
load date.txt;
t=[];
for i=1:size(date,1)
p=std(date(1:i,2:end),0,1);
t=[t;[i,p,sqrt(sum(p.^2))]];
end
t
save('output.txt','t','-ascii','-tabs')