【发布时间】:2010-02-05 17:50:33
【问题描述】:
我在 MATLAB 中有两个矩阵,比如说 arr1 和 arr2,每个矩阵的大小为 1000*1000。我想比较它们的元素并将比较结果保存在结果矩阵resarr 中,该矩阵也是 1000*1000,因此对于每个元素:
- 如果
arr1中的元素大于arr2中的元素,则将值1 放入结果中 - 如果
arr2中的元素较大,则存储值2
但我不想使用 for 循环来执行此操作,因为这样会更慢。我该怎么做?
编辑:
另外,如果我想在 1000*1000*3 的结果矩阵中存储不同的 RGB 值,这取决于 arr1 和 arr2 的比较,可以在没有慢循环的情况下完成吗?
例如,如果 arr1 较大,则存储 (255,0,0),如果 arr2 较大,则存储 (0,255,0)
【问题讨论】:
-
这是一个与stackoverflow.com/questions/2202641/…非常相似的问题
-
@Doresoom:同意。 非常相似,但技术上不同。
标签: matlab matrix comparison vectorization