Working with a three dimensional matrix
2 ビュー (過去 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 で Creating and Concatenating Matrices についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!