How can I extract entries from a matrix and a vector into a new vector in a specific way?

1 次查看(过去 30 天)
Hello, I want to extract the entries of a matrix and a vector into a new vector, like this:
M =
0.6000 0.8000
-0.8000 0.6000
t =
0.4000
0.8000
into this vector: v =
0.6000
0.8000
-0.8000
0.6000
0.4000
0.8000
How can I do it? and I would like to know how to do it the other way, like this: if v is given and I want to construct M and t from that v.
Thank you for your help!!

采纳的回答

Stephen23
Stephen23 2017-11-25
To get the correct order:
>> [reshape(M.',[],1);t(:)]
ans =
0.60000
0.80000
-0.80000
0.60000
0.40000
0.80000
  2 个评论
Saf el
Saf el 2017-11-25
Its working, thanks So if I want to do it the other way. I mean to get M and t from the given vector v. How to do it?
Stephen23
Stephen23 2017-11-25
>> V = [reshape(M.',[],1);t(:)];
>> reshape(V(1:4),2,2).'
ans =
0.60000 0.80000
-0.80000 0.60000
>> V(5:6)
ans =
0.40000
0.80000
>>

请先登录,再进行评论。

更多回答(1 个)

mounika
mounika 2017-11-25
M = [0.6,0.8;-0.8,0.6]
t = [0.4;0.8]
M = reshape(M,4,1)
v = vertcat(M,t)
Otherway:
M = v(1:4,:);
M = reshape(M,2,2);
t = v(5:6,;);

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by