How to save the answer that is generated in a triple for loop?

1 visualización (últimos 30 días)
I need to compare two signal each time for various combinations and find the best signal that correlates. But saving the answer is overwriting everytime in the loop. How do i save the answer in a matrix so that later i can get the max value from it. This is my code now;
peaks = cell(450,1);
for K1 = 170000:5000:210000
kn = numel(K1);
for B1 = 1:10:100
bn = numel(B1);
for M1 = 1:0.05:1.2
mn = numel(M1);
S=sim('MSDsystem');
Display=S.Displacement(:,2);
Mass=Mass1(:,2)/1000000;
[c,lag]=xcorr(Mass,Display);
peak = max(c);
peaks{1i} = peak ;
end
end
end

Respuestas (1)

Raj
Raj el 4 de Jun. de 2019
Just add one more loop to index the 'peaks' something like this:
for ii=1:numel(peaks)
for K1 = 170000:5000:210000
kn = numel(K1);
for B1 = 1:10:100
bn = numel(B1);
for M1 = 1:0.05:1.2
mn = numel(M1);
S=sim('MSDsystem');
Display=S.Displacement(:,2);
Mass=Mass1(:,2)/1000000;
[c,lag]=xcorr(Mass,Display);
peak = max(c);
peaks{ii} = peak ;
end
end
end
end
Then outside the loops use this:
peaks=str2double(peaks);
MaxPeak=max(peaks)
Is this what you are looking for?
  3 comentarios
Raj
Raj el 4 de Jun. de 2019
Loop stops at 450. There is no reason for loop to run infinitely. Please check again.
Nikhil Murali Krishnaa
Nikhil Murali Krishnaa el 4 de Jun. de 2019
Editada: Nikhil Murali Krishnaa el 4 de Jun. de 2019
Thanks for your reply. But i checked it. It runs 450*450 times. 202500times

Iniciar sesión para comentar.

Categorías

Más información sobre Mathematics en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by