永发信息网

求助:matlab任意两行只差

答案:3  悬赏:30  手机版
解决时间 2021-03-07 18:14
  • 提问者网友:酱爆肉
  • 2021-03-06 19:30
比如x=[1,2,3;2,1,1;0,1,1]
求第一行与第二行,第三行只差,同理求第二行与第一行第三行只差,第三行与一二行只差,我没有分数,求各位高手帮忙,谢谢了
最佳答案
  • 五星知识达人网友:你可爱的野爹
  • 2021-03-06 20:24
程序如下,可实现任意矩阵按要求求解:
% Just for reference
x=[1,2,3;2,1,1;0,1,1];
rs=size(x,1);%x的行数
cs=size(x,2);%x的列数
r=zeros(rs*2,cs);
for i=1:rs
n1=mod(i+1,3);
if n1==0
n1=3;
end
n2=mod(i+2,3);
if n2==0
n2=3;
end
r(i*2-1,:)=x(i,:)-x(n1,:);
r(i*2,:)=x(i,:)-x(n2,:);
end
disp '结果为:'
r

结果为:

r =

-1 1 2
1 1 2
2 0 0
1 -1 -2
-1 -1 -2
-2 0 0
全部回答
  • 1楼网友:爱难随人意
  • 2021-03-06 22:15
用textread [x1 x2 x3 x4 x5 x6 x7 x8]=textread(input,'%f,%f.......8个','headerlines',2)
  • 2楼网友:杯酒困英雄
  • 2021-03-06 21:11
%下面只适合于行数较少的情况 x=[1,2,3;2,1,1;0,1,1]; lines=size(x,1); choose=nchoosek(1:3,2);%组合 choose=[choose;choose(:,[2,1])] %换前后顺序 data=x(choose(:,1),:)-x(choose(:,2),:) %这个就是差的矩阵,不过这里没有给出第几行减第几行的提示.你得与choose的结果结合起来看. [choose,data] %结果第一列是被减的行号,第二列是减数的行号,后三列是结果. 1 2 -1 1 2 1 3 1 1 2 2 3 2 0 0 2 1 1 -1 -2 3 1 -1 -1 -2 3 2 -2 0 0
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯