Write a loop that can generate all data in one M-file with one variable change
Ältere Kommentare anzeigen
dt= a variable that is going to change.
% loop
q= 0
for i = 0:dt:10
q=q+1
for a= 1:3
for b = 1:3
if a~=b
then
.....calculate x, y ,
..... calculate h ( h depends on x, y)
.... hh(q)= h
.....tt(q) = i+dt;
I want to write the loop for the whole thing where it accounts dt is changing , and save data for each run then plot hh vs tt for any given dt change , dt can be [.1, .01, .001, .0001, .00001]. Know the loop to calculate h cant change. Anybody knows how to write loop as i describe above and still can plot hh vs tt @ dt = .1 , dt = .01 , etc in the same graph . Thanks
Akzeptierte Antwort
Weitere Antworten (1)
Kevin Holst
am 6 Feb. 2012
You could just add another dimension to your hh and tt calculations like this:
for j = -1:-1:-5
q = 0;
dt = 10^j;
for i = 0:dt:10
q=q+1
for a = 1:3
for b = 1:3
if a~=b
then
.....calculate x, y ,
..... calculate h ( h depends on x, y)
.... hh(q,abs(j))= h
.....tt(q,abs(j)) = i+dt;
Your hh and tt matrices would have a lot of zeros that you wouldn't want to plot, so your plot functions would need to be something like:
plot(tt(tt(:,1)>0),hh(tt(:,1)>0))
I don't have access to matlab right now so I can't say for 100% that that plot call will work as expected, but hopefully that'll point you in the right direction.
4 Kommentare
Phong Pham
am 7 Feb. 2012
Kevin Holst
am 7 Feb. 2012
It's an extra dimension for that variable. I'm storing all of the values for dt = 0.1 in hh(1,1), hh(2,1), hh(3,1), etc. I'm storing all of the values for dt = 0.01 in hh(1,2), hh(2,2), hh(3,2), etc. And so on.
Phong Pham
am 7 Feb. 2012
Phong Pham
am 7 Feb. 2012
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!