Reshape the Matrix to complex number ?

2 views (last 30 days)
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 Comments
madhan ravi
madhan ravi on 9 Jan 2019
if you reshape it then it‘s just X , so what‘s your point?
Steven Lord
Steven Lord on 9 Jan 2019
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]

Sign in to comment.

Accepted Answer

Stephen23
Stephen23 on 9 Jan 2019
Edited: Stephen23 on 9 Jan 2019
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 Comment
abdullah qasim
abdullah qasim on 9 Jan 2019
Edited: abdullah qasim on 9 Jan 2019
thank u very much
for more general I make this
com = complex(Xd(1:end/2),Xd(((N)+1):end))

Sign in to comment.

More Answers (0)

Categories

Find more on Get Started with Signal Processing Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!