我想在MATLAB中的一些矩阵运算中提出一个问题。
假设我们有这个矩阵:
A = [1 1 17
1 1 14
1 2 10
1 2 11
2 1 9
2 1 9
2 2 13
2 2 12
3 1 18
3 1 15]
我想要第一列,比如M和第二列,说D控制整个矩阵产生一个行矩阵,具体取决于以下条件:
程序将要求用户输入M和D的值,如下所示:
M = input(' ENTER M VALUE = ') ;
D = input(' ENTER D VALUE = ') ;
现在,输出将是M和D的相应2个值,这两个值将取自第三列,
例如:
if M = 1 and D = 2 , the output is B = 10 ; 11
另一个例子:
if M = 3 and D = 1 , the output is B = 18 ; 15
等等。
实际上,我知道如何使用if语句来解决这个问题,但我有大量数据,这需要很长时间。我确信有一个简短的方法可以做到这一点。
感谢。
答案 0 :(得分:2)
这样做的简短方法是
B = A(A(:,1)==M & A(:,2)==D, 3);