作业帮 > 数学 > 作业

Matlab循环问题:设PM矩阵已知如PM=[1,2,3;4,5,6],需得到p2=[3,2,1;6,5,4].

来源:学生作业帮 编辑:神马作文网作业帮 分类:数学作业 时间:2024/11/12 06:07:35
Matlab循环问题:设PM矩阵已知如PM=[1,2,3;4,5,6],需得到p2=[3,2,1;6,5,4].
p2=zeros(1,z);
f=1;
for i=1:n
for j=m:-1:1
F(1,f)=PM(i,j)+10*i;
if PM(i,j)==0
continue;
else
f=f+1;
end
end
end
PM=[[1,2,3,0;2,4,0,0;1,3,4,0];]
为何最后一个数是0,就不能得到正确的结果..
Matlab循环问题:设PM矩阵已知如PM=[1,2,3;4,5,6],需得到p2=[3,2,1;6,5,4].
按你题目的描述实现.你运行一下:
PM=[1,2,3; 4,5,6]
for i=1:2
for j=3:-1:1
P2(i,3-j+1)=PM(i,j)
end
end
P2
再问: 那如果PM矩阵里含有0元素,而我想去除0元素后得到p2呢?
再答: 去除0元素, 用什么替换? 否则这一行的列数就少了
再问: 举个例子:PM=[1,2,0;0,2,3],我想得到一个行向量p2,记录每个元素所在的行,并且逆序:p2=[12,11,23,22]。将0元素直接去掉。
再答: 这完全是另一个问题了. P2这样记会有歧义, 比如第12行第11列记为 1211, 第1行第211列也是 1211
再问: 那我可以修改p2=[1.2,1.1,2.3,2.2],将行位置数变为整数部分,元素数变为小数,就可以了。这样问题还是如何直接去除0元素。。。