我正在使用matlab。我有一个目前返回5个数组的函数,但是我想将数组连接到一个单一的矩阵中,或者只是一个单元格数组,每个数组的标题都是当前函数的输出?使用数字和字符串创建矩阵/数组
例如,给输出,如:
low_sec lowmid_sec
1 7
2 6
35 5
5 43
任何想法?
function [low_sec ,lowmid_sec , middle_sec , upmid_sec , upper_sec]= sepfunc(intensdata)lengthofdata=length(intensdata);
count1=0;
count_2=0;
count_3=0;
count_4=0;
count_5=0;
for i= 1:lengthofdata %loop to seperate count number of data in 5 groups
if (intensdata(i,1)<0.05)
count1=count1+1;
elseif (intensdata(i,1)>=0.05 && intensdata(i,1)<0.1)
count_2=count_2+1;
elseif (0.1<=intensdata(i,1) && intensdata(i,1)<0.15)
count_3=count_3+1;
elseif (0.15<=intensdata(i,1) && intensdata(i,1)<0.2)
count_4=count_4+1;
elseif (intensdata(i,1)>=0.2)
count_5=count_5+1;
end
end
disp(count1);
disp(count_2);
disp(count_3);
disp(count_4);
disp(count_5);
j=1;
k=1;
m=1;
n=1;
x=1;
low_sec=[count1];
lowmid_sec=[count_2];
middle_sec=[count_3];
upmid_sec=[count_4];
upper_sec=[count_5];
for i= 1:lengthofdata %to seperate original data into 5 different sub-groups.
if (intensdata(i,1)<0.05)
low_sec(j,1)=intensdata(i,1);
j=j+1 ;
elseif(0.05<=intensdata(i,1) && intensdata(i,1)<0.1)
lowmid_sec(k,1)=intensdata(i,1);
k=k+1;
elseif(0.1<=intensdata(i,1) && intensdata(i,1)<0.15)
middle_sec(m,1)=intensdata(i,1);
m=m+1;
elseif(0.15<=intensdata(i,1) && intensdata(i,1)<0.2)
upmid_sec(n,1)=intensdata(i,1);
n=n+1;
elseif(intensdata(i,1)>=0.2)
upper_sec(x,1)=intensdata(i,1);
x=x+1;
end
end
为什么不输出'struct'? – Dan
2个星期前我刚开始使用matlab,所以我真的不知道它做了什么。一般来说对编程来说真的很新鲜 – khoshnaw
@丹我不知道如何使用它,有没有别的办法? – khoshnaw