5 views (last 30 days)

Show older comments

I have a matrix with three dimensions, and I need to take two dimensions through the use of cycle FOR.

For example:

Name variable Value

k <39x17x60>

And I need this:

a = 60;

for i = 1:60;

l = k...; %size of l <39x17>

xlswrite...;

end

Oleg Komarov
on 25 Jan 2011

The problem is how you construct kunn, in general there are so many nested loops that my suspect is you end up overwriting the data, go in debug mode and see what happens each time you increase the frist loop and so on:

function[F0mean,F0max,F0min,F0max_min,F0std,F0median,relF0VR,relF0SD,...

Emean,Emax,Emin,Emax_min,Estd,Emedian,TEO,Jmean,...

Jmax,Jmin,Jmax_min,Jstd,Jmedian,Smean,Smax,Smin,...

Smax_min,Sstd,Smedian,F1mean,F1max,F1min,F1max_min,F1std,...

F1median,F2mean,F2max,F2min,F2max_min,F2std,F2median]...

= HRA()

[wav,lab]=databaze;

wav = wav';

lab = lab';

L = length(wav);

for j = 2:L+1

brd = process_lab_file(lab{j-1});

label = brd(:,1);

K = length(label);

for i = 1:K

[F0mean,F0max,F0min,F0max_min,F0std,F0median,relF0VR,relF0SD,...

Emean,Emax, Emin,Emax_min, Estd, Emedian, TEO,...

Jmean,Jmax,Jmin,Jmax_min,Jstd,Jmedian,...

Smean,Smax,Smin,Smax_min,Sstd,Smedian,...

F1mean,F1max,F1min,F1max_min,F1std,F1median,...

F2mean,F2max,F2min,F2max_min,F2std,F2median]=extr_part_of_sig(wav{j-1},label(i),lab{j-1});

priznaky =...

[F0mean,F0max,F0min,F0max_min,F0std,F0median,relF0VR,relF0SD,...

Emean,Emax, Emin,Emax_min, Estd, Emedian, TEO,...

Jmean,Jmax,Jmin,Jmax_min,Jstd,Jmedian,...

Smean,Smax,Smin,Smax_min,Sstd,Smedian,...

F1mean,F1max,F1min,F1max_min,F1std,F1median,...

F2mean,F2max,F2min,F2max_min,F2std,F2median];

O = length(priznaky);

for o = 1:O

zap(o,i) = priznaky(o);

end

end

F = length(priznaky);

for i = 1:K

for a = 1:F

kunn(a,j-1,i) = zap(a);

end

end

end

S = length(label);

jaj = zeros(39,17);

for f = 1:S

jaj = kunn(:,:,2);

koj = jaj';

%xlswrite('ZK.xls', koj, label{i}, 'B2');

end

Kenneth Eaton
on 24 Jan 2011

If you're asking how you would index k in your loop to get a 2-D submatrix, you would do the following:

l = k(:,:,i);

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

Start Hunting!