在MATLAB中怎么从矩阵中提取相应元素,并生成新的矩阵?
比如我有1*1001的矩阵t=[00.010.020.03……10];1*10的矩阵t0=[12345678910];和1*1001的矩阵y=[0.10.50.8……0....
比如我有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的新矩阵!希望大虾能够指点!! 展开
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的新矩阵!希望大虾能够指点!! 展开
3个回答
展开全部
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
>> 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
展开全部
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的。谢谢啦。不清楚再问。。。
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的。谢谢啦。不清楚再问。。。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
比如你有一个矩阵a 直接可以用b(k)=a(j)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询