Calling in a function inside a for loop and storing each answer separetly
6 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Nadine Nassar
le 2 Nov 2019
Commenté : Nadine Nassar
le 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 commentaires
Réponse acceptée
Walter Roberson
le 2 Nov 2019
Modifié(e) : Walter Roberson
le 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 commentaires
Walter Roberson
le 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.
Plus de réponses (1)
Bhaskar R
le 2 Nov 2019
Modifié(e) : Bhaskar R
le 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 commentaires
Voir également
Catégories
En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!