Matlab 矩阵中抽取元素的问题从一矩阵中抽取一些元素组成一维数组(向量),已知要抽取的坐标.详细说明:已知矩阵中A=[1,2,3;4,5,6;7,8,9];要取出(1,1)(2,3)(3,2)这三个元素,组成数组[1 8 6]元素坐标保存在两个数组中:a=[1 2 3];b=[1 3 2];注:最好不要用循环
问题描述:
Matlab 矩阵中抽取元素的问题
从一矩阵中抽取一些元素组成一维数组(向量),已知要抽取的坐标.
详细说明:
已知矩阵中A=[1,2,3;4,5,6;7,8,9];
要取出(1,1)(2,3)(3,2)这三个元素,组成数组[1 8 6]
元素坐标保存在两个数组中:
a=[1 2 3];
b=[1 3 2];
注:最好不要用循环
答
A=[1,2,3;4,5,6;7,8,9];
a=[1 2 3];
b=[1 3 2];
C(1)=A(a(1),b(1));
C(2)=A(a(2),b(2));
C(3)=A(a(3),b(3));
其实用循环很简单,
A=[1,2,3;4,5,6;7,8,9];
a=[1 2 3];
b=[1 3 2];
for i=1:3
C(i)=A(a(i),b(i))
end
顺便说一句,按你说的顺序(1,1)(2,3)(3,2),组成的数组应该是[1 6 8]
如果是[1 8 6]
那就用下面的代码:
A=[1,2,3;4,5,6;7,8,9];
a=[1 2 3];
b=[1 3 2];
C(1)=A(a(1),b(1));
C(2)=A(a(3),b(3));
C(3)=A(a(2),b(2));