Calling in a function inside a for loop and storing each answer separetly
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Nadine Nassar
am 2 Nov. 2019
Kommentiert: Nadine Nassar
am 2 Nov. 2019
Hello, this is my code so far. My function outputs the number of iterations needed to solve a system, and I want to use this script to output the number of iterations but with varying a parameter as shown:
A = [-10 4 1 0; 4 -10 0 1; 1 0 -10 4; 0 1 4 -10];
B = [-200;-80;-300;-180];
n = 4;
x = [0;0;0;0];
imax = 1000;
es = 1e-6;
w= 1.2;
for w=0.1: 0.1: 1.9
engr3202_gsrelax(A,B,n,x,imax,es, w);
end
I keep getting large numbers of iterations so i'm not sure if the code is just adding them all together, but i basically want 19 outputs separately so i can plot a graph with it.
Thanks a lot!
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 2 Nov. 2019
Bearbeitet: Walter Roberson
am 2 Nov. 2019
A = [-10 4 1 0; 4 -10 0 1; 1 0 -10 4; 0 1 4 -10];
B = [-200;-80;-300;-180];
n = 4;
x = [0;0;0;0];
imax = 1000;
es = 1e-6;
wvals = 0.1: 0.1: 1.9;
for widx = 1 : length(wvals)
w = wvals(widx);
gs(widx,:) = engr3202_gsrelax(A,B,n,x,imax,es, w);
end
plot(wvals, gs)
3 Kommentare
Walter Roberson
am 2 Nov. 2019
We do not know the size of your output for each call. Using the colon allows for the possibility that you return a vector for each call.
Weitere Antworten (1)
Bhaskar R
am 2 Nov. 2019
Bearbeitet: Bhaskar R
am 2 Nov. 2019
You have not provided the output varibles of the function engr3202_gsrelax(A,B,n,x,imax,es, w);
Make output variables in the calling, I assume only one variable here, say output and intialize with length of w
A = [-10 4 1 0; 4 -10 0 1; 1 0 -10 4; 0 1 4 -10];
B = [-200;-80;-300;-180];
n = 4;
x = [0;0;0;0];
imax = 1000;
es = 1e-6;
w= 1.2;
w=0.1: 0.1: 1.9;
output = zeros(1, length(w));
for iw=0.1: 0.1: 1.9
output(:, iw) = engr3202_gsrelax(A,B,n,x,imax,es, iw);
end
You can get the data in the variable output for all your loop iterations(19 in our case)
4 Kommentare
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!