【发布时间】:2013-11-28 07:02:08
【问题描述】:
我有一个简单的问题,我对 matlab 很陌生,所以我在实现它时遇到了问题,我有两个 64x2 矩阵 u 和 h。我必须检查 u 中的单行是否不等于 h 中的所有行。那么不相等的行应该保存在一个单独的矩阵中,同时我已经编写了这段代码,但它的作用是当这段代码运行时 r(i,:) 获取 u(i,:) 的所有值,我想要的是只有那些 u(i,:) 的值应该存储在 r 中,它们与 h 矩阵中的任何行都不相似。
h=[];
for j=1:8
for i=1:8
h=[h; i j];
end
end
u=[5.3,1.4;6,8;2,3;3,5.5;2.6,8;3.7,2;4,2;5,3;1.9,8;5.4,4;3.2,3;2,2;2,4;2,3;8,2.2;8,4;7.3,1.5;6.2,5.1;2.4,1.5;3,5;2,7.1;1.8,2.7;3,4;6,5;6,1;5,4;4,6;3.5,2;5,7;7.2,8;7,7;5,5;6,3;6,6;1,2;5,8;3,5;1,5;2,2;2,1;6,3;4,7;6,8;3,6;1,6;5,2;3,5;8,7;8,4;4,8;1,1;6,3;7,5;8,1;1,6;4,5;5,5;6,7;6,7;6,7;6,3;3,4;5,7;1,1]
for i=1
for j=1:64
if u(i,:)==h(j,:)
c=1
else
c=0
if c==0
r(i,:)=u(i,:)
end
end
end
end
谁能帮帮我
【问题讨论】:
-
我尝试使用 not equal to as u(i,:)~=h(j,:) 使用另一个循环来完成此操作,但无法给出更好的结果
-
if语句中的条件应该是标量。使用all(u(i,:)==h(j,:))或isequal(u(i,:), h(j,:)。 -
我已经尝试过,但它给出了相同的答案,我在 r 矩阵中得到了 u 的所有值,而我只需要那些在 h 矩阵中不存在的 u 值
-
您对格式、大写 I 和/或标点符号有意见吗?请格式化您的问题!