how to separate the real and imaginary parts inside a cell
111 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
ANUSAYA SWAIN
el 10 de Sept. de 2024 a las 10:46
Respondida: Anagha Mittal
el 11 de Sept. de 2024 a las 4:55
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 a las 10:55
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 a las 12:28
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 a las 4:55
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!