Matlab中将一个向量矩阵转化为一列向量矩阵

老师给的一个程序,但我不懂第4行什么意思,行数除以列数。还有,我输入一个4*10的矩阵,结果:错误使用zerosSize输入必须为整数。出错zhuanlie(line5)... 老师给的一个程序,但我不懂第4行什么意思,行数除以列数。 还有,我输入一个4*10的矩阵,结果:
错误使用 zeros
Size 输入必须为整数。

出错 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:n1
9. for j=1:n1
10. A(m,:)=X(i,(j-1)*dn+1:j*dn);
11. m=m+1;
end
end

Y=A;
展开
 我来答
兔子和小强
推荐于2018-04-21 · TA获得超过6946个赞
知道大有可为答主
回答量:3332
采纳率:74%
帮助的人:1389万
展开全部

函数输入是个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), [])';
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式