我有一个问题:假设我有一个矩阵
A =
-1 2 -3
-4 5 -6
-7 8 -9
我将其转换为列矩阵
B = A(:)
B =
-1
-4
-7
2
5
8
-3
-6
-9
假设我想强制第一列元素位于特定范围内 (-range1 : range1) ,第二列元素位于 (-range2 : range2) 内,第三列元素位于 (-range3:range3) 内。我尝试通过实现此代码来做到这一点:
range1 = 0;
range2 = -5;
range3 = 0;
B(B(1:3,1)<range1)=10;
B(B(4:6,1)>range2)=0;
B(B(7:9,1)<range3)=20;
我得到的答案是这样的:
B =
20
20
20
2
5
8
-3
-6
-9
而我应该得到的正确答案是:
B =
10
10
10
0
0
0
20
20
20
我做错了什么?请帮忙。