假设我有矩阵 A:
A =
1 2 3
4 5 6
每个元素x<2
加 10,
每个元素x>5
加 20,
每个元素2<=x<=5
加 30。
因此,对于我的示例矩阵 A,我需要得到以下矩阵 B:
B =
11 32 33
34 35 26
我需要能够以一般方式执行此操作,因为实际矩阵将非常大。有什么建议么?我可以使用IF
声明吗?
假设我有矩阵 A:
A =
1 2 3
4 5 6
每个元素x<2
加 10,
每个元素x>5
加 20,
每个元素2<=x<=5
加 30。
因此,对于我的示例矩阵 A,我需要得到以下矩阵 B:
B =
11 32 33
34 35 26
我需要能够以一般方式执行此操作,因为实际矩阵将非常大。有什么建议么?我可以使用IF
声明吗?
您IF
不需要逻辑索引:
IndexOfLessThan2 = A < 2;
IndexOfGreaterThan5 = A > 5;
IndexBtw2and5 = ~(IndexOfLessThan2 | IndexOfGreaterThan5);
A = A + IndexOfLessThan2*10 + IndexOfGreaterThan5*20 + IndexBtw2and5*30;