matlab - 从相应的最大矩阵中选取值

标签 matlab matrix

我认为我问的问题不对,所以这个例子会让你更容易理解我的意思。

假设我有 2 个矩阵

A = [5,5; 7,7];
B = [2,2; 6,4];

还有另外 2 个矩阵,每个矩阵都与上述矩阵之一相对应。 可以说

A' = [7,7; 9,9];
B' = [1,1; 10,5];

我需要构建一个新的矩阵,它将检查 A' 和 B' 中的每个像素,选择最大值,然后转到相应的矩阵并从那里提取值。

在这个例子中我将得到这个 newMat

newMat = [5,5; 6,7];

使用循环很容易完成,有没有一种方法可以不使用循环来完成? 提前致谢!

最佳答案

您可以创建一个逻辑矩阵,其中 Aprime 大于 Bprime,然后可用于从 AB

aprime_is_greater = Aprime > Bprime;

% Initialize C to B and replace values where Aprime was greater
C = B;
C(aprime_is_greater) = A(aprime_is_greater);

关于matlab - 从相应的最大矩阵中选取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34821730/

相关文章:

Matlab - 获取子图行和列

matrix - 在 Prolog 中将事实提取为矩阵

c - 如何转置存储为 C 1D 数组的 2D 矩阵

arrays - 我可以使用 `sortrows` 的比较函数吗?

ruby - 根据矩阵形状进行坐标转换

java - 矩阵的转置。 Hackerrank 测试用例失败

java - 将字符打印为矩阵

matlab - 删除前导列值 <= 0

matlab - 向量中的 fft 点和 fft 之间的差异

matlab - 如何在 Matlab 中使用经过训练的神经网络在真实系统中进行分类