Getting only one output from a function with several ones
5 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Michael Bettar
el 22 de Oct. de 2017
Comentada: Star Strider
el 22 de Oct. de 2017
Hey! I am trying to create a function that approximates the root(first output) with help of newton's method and also save every loop value(second output) in a vector called resultVec. Here's the code:
function [x1, resultVec] = newt(x0)
x1 = x0 - ((exp(-x0)-2.*(x0.^3)+(5.*x0))/(-exp(-x0)-6.*(x0.^2)+5));
resultVec = [];
while abs(x1-x0)>=1e-10
x0 = x1;
x1 = x0 - ((exp(-x0)-2.*(x0.^3)+(5.*x0))/(-exp(-x0)-6.*(x0.^2)+5));
resultVec = [resultVec x1];
end
end
The problem is that I am only getting the output value for x1, what am I doing wrong?
0 comentarios
Respuesta aceptada
Star Strider
el 22 de Oct. de 2017
You must not be asking for both outputs.
Try something like this in your calling script:
[x1, resultVec] = newt(x0);
That should return both outputs.
3 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Loops and Conditional Statements en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!