how to separate the real and imaginary parts inside a cell

조회 수: 7 (최근 30일)
ANUSAYA SWAIN
ANUSAYA SWAIN 2024년 9월 10일
답변: Anagha Mittal 2024년 9월 11일
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
Anagha Mittal
Anagha Mittal 2024년 9월 10일
Hi Anusaya,
Can you please share an example of the cell and the matrices for better understanding?
ANUSAYA SWAIN
ANUSAYA SWAIN 2024년 9월 10일
like cell size is 1X2. inside the cell two matrices of size 32X32 are there. those matrices are complex double. Next i want to separate the real and imaginary parts of those two matrices and make the matrices size as 32X32X2. now the cell has two matrices of size 32X32X2. Next i want to convert that cell to matrix of final size 2X32X32X2.

댓글을 달려면 로그인하십시오.

답변 (2개)

Mathieu NOE
Mathieu NOE 2024년 9월 10일
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

Anagha Mittal
Anagha Mittal 2024년 9월 11일
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!

카테고리

Help CenterFile Exchange에서 Matrices and Arrays에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by