How to store values from a loop?

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.

 Respuesta aceptada

Bruno Pop-Stefanov
Bruno Pop-Stefanov el 21 de En. de 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

Más respuestas (2)

Azzi Abdelmalek
Azzi Abdelmalek el 21 de En. de 2014
Editada: Azzi Abdelmalek el 21 de En. de 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)
Mahdi
Mahdi el 21 de En. de 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

2 comentarios

John Doe
John Doe el 21 de En. de 2014
Thank you
Hanna
Hanna el 25 de En. de 2023
Tahnk you Mahdi!

Iniciar sesión para comentar.

Categorías

Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.

Etiquetas

Aún no se han introducido etiquetas.

Preguntada:

el 21 de En. de 2014

Comentada:

el 25 de En. de 2023

Community Treasure Hunt

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

Start Hunting!

Translated by