how to separate the real and imaginary parts inside a cell
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
i have a cell of size 1X2. inside the cell there are 2 matrices of size 32X32. i want to separate the real and imaginary of both the matrices that is inside the cell the two matrices should be 32X32X2. and finally i want the size to be 2X32X32X2. How to do it.
2 comentarios
Anagha Mittal
el 10 de Sept. de 2024
Hi Anusaya,
Can you please share an example of the cell and the matrices for better understanding?
Respuestas (2)
Mathieu NOE
el 10 de Sept. de 2024
Maybe this ?
% create dummy data
n = 32;
for k = 1:2
cellarray{k} = k*ones(n,n)*(1+1i*5);
end
% process it
for k = 1:numel(cellarray)
out(k,:,:,1) = real(cellarray{k}); % extract / store real matrix
out(k,:,:,2) = imag(cellarray{k}); % extract / store imag matrix
end
0 comentarios
Anagha Mittal
el 11 de Sept. de 2024
Hi,
Please find the below code for the same:
% Assuming 'cellArray' is your 1x2 cell array containing two 32x32 matrices and assigining with random values
% You may use your values
cellArray = {rand(32) + 1i*rand(32), rand(32) + 1i*rand(32)};
result = zeros(2, 32, 32, 2); % Final result will be stored in this
for i = 1:2
matrix = cellArray{i};
realPart = real(matrix);
imagPart = imag(matrix);
combinedMatrix = cat(3, realPart, imagPart); % Combining them into a 32x32x2 matrix
result(i, :, :, :) = combinedMatrix;
end
disp(result);
Hope this helps!
0 comentarios
Ver también
Categorías
Más información sobre Matrices and Arrays en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!