How to Convert 2D matrix to 3D with time as 3rd dimension

조회 수: 5 (최근 30일)
Venkata Jayadeep Kodali
Venkata Jayadeep Kodali 2013년 6월 13일
I have a code which results in a 2D matrix .The code is in a loop . So I get many 2D matrix values. I want to convert it into a 3D matrix with 3rd Dimension as time. How can I do this ?

답변 (2개)

Azzi Abdelmalek
Azzi Abdelmalek 2013년 6월 13일
  댓글 수: 7
Evan
Evan 2013년 6월 13일
Do you mean you want B to be the time? If so, yes, tic/toc would work. You would call tic outside the loop then have something like this inside:
A(:,:,k) = toc;
Azzi Abdelmalek
Azzi Abdelmalek 2013년 6월 13일
You can also use a struct format
for k=1:5
A=rand(4); % for example
data(k).time=k % for example
data(k).matrix=A
end

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


Youssef  Khmou
Youssef Khmou 2013년 6월 13일
hi,
You can the method provided above, but the function "toc" may have problems , i propose using an integer variable , here is an example :
% Eeach time we get a 2D AWGN matrix with different Standard Deviation
N=100;
L=200;
for n=1:N
r=rand;
M(:,:,n)=r*randn(L);
end
If your loop indexes start differently( negative values per example , try this solution :
N=100;
L=200;
time=1;
for n=-10:N
r=rand;
M(:,:,time)=r*randn(L);
time=time+1;
end

카테고리

Help CenterFile Exchange에서 MATLAB에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by