gpt4 book ai didi

MATLAB:比较两个数组的所有元素

转载 作者:行者123 更新时间:2023-12-02 07:53:37 29 4
gpt4 key购买 nike

我在 MATLAB 中有两个矩阵,可以说 arr1arr2,每个矩阵的大小为 1000*1000。我想比较它们的元素并将比较保存在结果矩阵 resarr 中,它也是 1000*1000 这样对于每个元素:

  • 如果 arr1 中的元素大于 arr2 中的元素,则将值 1 放入结果中
  • 如果arr2中的元素更大,则存储值2

但我不想使用 for 循环来执行此操作,因为那样速度较慢。我该怎么做?


编辑:此外,如果我想在 1000*1000*3 结果矩阵中存储不同的 RGB 值,这取决于 arr1arr2 的比较,是否可以在没有慢循环的情况下完成?

例如,如果 arr1 较大,则存储 (255,0,0),如果 arr2 较大,则存储 (0,255,0)

最佳答案

resarr = 2 - (arr1 > arr2)

arr1>arr2 逐个元素比较 arr1 和 arr2,返回 1000x1000 矩阵,其中 arr1 较大,其中包含 1,否则为 0。 2 - 部分使它成为一个矩阵,如果 arr1 大于 arr2,则为 1,否则为 2。

注意:如果 arr1 和 arr2 在某个时刻相等,你也会得到 2(因为 arr1>arr2 返回 0,那么 2-0=2)。

关于MATLAB:比较两个数组的所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2209194/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com