Working with a three dimensional matrix
3 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Oleg Komarov
2011-1-25
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
更多回答(1 个)
Kenneth Eaton
2011-1-24
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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!