How to store values from a loop?
373 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
John Doe
il 21 Gen 2014
Commentato: Hanna
il 25 Gen 2023
I have a .m function file of Y(x,y), and the fzero command below to find the zero for varying values of y:
if true
for y= 2:0.1:10
x = fzero(@(m) Y(m,y),4);
end
end
however after each loop, the previous value is overwritten, is there a way I can save them all?
Kind Regards,
John.
0 Commenti
Risposta accettata
Bruno Pop-Stefanov
il 21 Gen 2014
Store them in a vector using an index like in the following:
y = 2:0.1:10;
% For all elements in vector y
for i=1:numel(y)
% Set ith element of vector x
x(i) = fzero(@(m) Y(m,y(i)),4);
end
0 Commenti
Più risposte (2)
Azzi Abdelmalek
il 21 Gen 2014
Modificato: Azzi Abdelmalek
il 21 Gen 2014
ii= 2:0.1:10
sol=cell(numel(ii),1)
for y=ii
x = fzero(@(m) Y(m,y),4);
sol{y}=x;
end
celldisp(sol)
1 Commento
Mahdi
il 21 Gen 2014
There are two ways to do this, the following is the less efficient way
x=[];
if true
for y=2:0.1:10
x=[x; fzero(@(m) Y(m,y),4)];
end
end
Basically, the above code will store all the values in each loop in a matrix x. You can also preallocate and create a matrix by using x(i)=rest of it
i=1
for loop
x(i)=
i=i+1;
end
Vedere anche
Categorie
Scopri di più su Unit Conversions in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!