我正在使用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