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 commentaires

madhan ravi
madhan ravi le 9 Jan 2019
if you reshape it then it‘s just X , so what‘s your point?
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]

Connectez-vous pour commenter.

 Réponse acceptée

Stephen23
Stephen23 le 9 Jan 2019
Modifié(e) : Stephen23 le 9 Jan 2019

0 votes

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 commentaire

abdullah qasim
abdullah qasim le 9 Jan 2019
Modifié(e) : abdullah qasim le 9 Jan 2019
thank u very much
for more general I make this
com = complex(Xd(1:end/2),Xd(((N)+1):end))

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by