老师给的一个程序,但我不懂第4行什么意思,行数除以列数。 还有,我输入一个4*10的矩阵,结果:错误使用 zerosSize 输入必须为整数。出错 zhuanlie (line 5)A=zeros(n1*n1,dn);function Y=zhuanlie(X)%%将n1*n1的X向量矩阵转化为1列向量矩阵%%输入的n1*n1的向量矩阵X,其即矩阵中的元素为1*dn的向量,但形式为n1*n2的普通矩阵1. p=1;2. n1=size(X,1);3. n2=size(X,2);4. dn=n2/n1; %向量的元素个数5. A=zeros(n1*n1,dn);7. m=1;8. for i=1:n19. for j=1:n110. A(m,:)=X(i,(j-1)*dn+1:j*dn);11. m=m+1; endendY=A;
函数输入是个n1 * n2矩阵,返回(n1^2) * (n2/n1)的矩阵。n2要能整除n1。你应该输入4*8或4*12之类的矩阵。函数写的很麻烦,可以简化下:function Y = zhuanlie(X) Y = reshape(X', size(X,2)/size(X,1), [])';end 或直接使用句柄:zhuanlie = @(X)reshape(X', size(X,2)/size(X,1), [])';