Ln为一数组,比如Ln=[20,40,45,.....],B=[0,0,0,.....],一共100个0,当Ln取第一个数时,比如20,B中前20个数为1,当Ln取第二个数时,比如40,B中前40个数为1,以此类推,下面是我写的函数,但是有错误,不知道怎么改正。
function A=tw[Ln];
B=zeros(1,100); C=[]; [m,n]=size(Ln);
for i=1:n
B(1,1:Ln(i))=1; C(i)=reshape(B,10,10);
end
j=1;
if(j<n)
A=[C(j),C(j+1)];
end
第七行出错,我想把每次求得的B值以10*10放在C里面,然后让n个C组成一个矩阵A输出,请教高手第七行该怎么写?谢谢
除了friendchj的好建议外, 亦可采用多维, 如
[m,n]=size(Ln); C=zeros(10,10,n);
for i=1:n
B=zeros(1,100); B(1,1:Ln(i))=1; C(:,:,i)=reshape(B,10,10);
end
j=1;
if(j<n), A=[C(:,:,j),C(:,:,j+1)]; end