【发布时间】:2017-02-09 22:08:06
【问题描述】:
我有一个100x100矩阵A(包含从0到150的值)和一个35x4矩阵B。在矩阵A 中,我只想保留B 的第3 列中存在的那些值,即B(:,3),并将A 中的所有其他值更改为零。所以A 的大小将保持不变。这是可以实现的吗?
我开始编写一个代码,以遍历矩阵 A 的循环开始,另一个遍历 B 的第 3 列和 if 语句来表示我想要的相等条件,但如何正确定义循环的终结性?
for i=1:size(A,1)
for j=1:size(B,3)
if ismember (A(i,i),B(j,3))
A(B(j,3))=A; % it's false
end
end
end
【问题讨论】:
-
您只想保留那些与
B的第3 列相对应的A值。美好的。但是保持A的大小不变 是什么意思?如果你想保留一些值,那么大小显然会改变 -
是的,我希望我的矩阵 A 保持为矩阵 [100x100]。另一种看待事物的方式是,与 B 的第 3 列中的值不同的 A 的值将被归零。这可以实现吗?
-
如果您有兴趣,我可以提出一个非循环的解决方案
-
是的,为什么不有趣:-)