Reshape the Matrix to complex number ?

3 次查看(过去 30 天)
I have Matrix-like the following
N=64
%X is the complex number % complex number(a+ib) where (a) is real and (ib)is imag number
% I reshap the complex to matrix
X %(64 1) size of matrix = N
real(X); % (64 1)
imag(X); % (64 1)
Xd=[real(X);imag(X)]; %(128 1) = 2N
I want to reshap the matrix to complex as
real+imag
a+ib
return (X) at size (64 1)
thank u
  2 个评论
madhan ravi
madhan ravi 2019-1-9
if you reshape it then it‘s just X , so what‘s your point?
Steven Lord
Steven Lord 2019-1-9
What you've described sounds like you just want X back.
If X were the following matrix, can you show exactly what you'd expect / want the result of this "reshaping" to be? Seeing the results for a specific matrix might help us understand what you're trying to do.
X = [1+2i; 3+4i; 5+6i; 7+8i; 9+10i]

请先登录,再进行评论。

采纳的回答

Stephen23
Stephen23 2019-1-9
编辑:Stephen23 2019-1-9
Some methods to get the original (complex) matrix back:
Y = reshape(Xd,[],2)*[1;i]
Method two: indexing and complex:
Y = complex(Xd(1:64),Xd(65:128))]
Method three: indexing and addition:
Y = Xd(1:64) + i*Xd(65:128)
  1 个评论
abdullah qasim
abdullah qasim 2019-1-9
编辑:abdullah qasim 2019-1-9
thank u very much
for more general I make this
com = complex(Xd(1:end/2),Xd(((N)+1):end))

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by