Working with a three dimensional matrix
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
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
0 comentarios
Respuesta aceptada
Oleg Komarov
el 25 de En. de 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
Más respuestas (1)
Kenneth Eaton
el 24 de En. de 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);
14 comentarios
Ver también
Categorías
Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!