在MATLAB中怎么从矩阵中提取相应元素,并生成新的矩阵?

比如我有1*1001的矩阵 t=[0 0.01 0.02 0.03 ……10];
1*10的矩阵 t0=[1 2 3 4 5 6 7 8 9 10];
和1*1001的矩阵 y=[0.1 0.5 0.8 …… 0.9];
我想当t里面的数值等于t0里面的数值时,输出相对应的y的值(t和y的值是一一对应),并生成新的矩阵。最后得到一个1*10的新矩阵!希望大虾能够指点!!

subX=X(a,b)是取矩阵X的a行b列。其中,X表示一个矩阵;X(a,b)表示a行b列的子矩阵。X(a,b)取子矩阵在matlab是一种常用的操作,ab都为向量。比如X(2:4,[2 3 5])表示取矩阵X 第2,3,4行和第2,3,6列交叉的矩阵。举例:
>> X=rand(6)
X =
0.2769 0.9502 0.1869 0.2760 0.9597 0.5060
0.0462 0.0344 0.4898 0.6797 0.3404 0.6991
0.0971 0.4387 0.4456 0.6551 0.5853 0.8909
0.8235 0.3816 0.6463 0.1626 0.2238 0.9593
0.6948 0.7655 0.7094 0.1190 0.7513 0.5472
0.3171 0.7952 0.7547 0.4984 0.2551 0.1386
>> X(2:4,[2 3 5])
ans =
0.0344 0.4898 0.3404
0.4387 0.4456 0.5853
0.3816 0.6463 0.2238
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-06-14
t=0:0.01:10;
t0=1:10;
y=[0,10:1009];
a0=[];
for i=1:10
a=y(find(i==t));
A=[a0,a];
a0=A;
end
A
----------------运行结果-------------------
A =

Columns 1 through 9

109 209 309 409 509 609 709 809 909

Column 10

1009

注:因为你的y不清楚,所以我随便选了一个,你可以根据自己的需要,自己改一下y,但是一定要是1*1001的。谢谢啦。不清楚再问。。。本回答被提问者和网友采纳
第2个回答  2012-03-19
比如你有一个矩阵a 直接可以用b(k)=a(j)
相似回答