Getting only one output from a function with several ones

6 vues (au cours des 30 derniers jours)
Michael Bettar
Michael Bettar le 22 Oct 2017
Commenté : Star Strider le 22 Oct 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?

Réponse acceptée

Star Strider
Star Strider le 22 Oct 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 commentaires
Michael Bettar
Michael Bettar le 22 Oct 2017
Oh I got it now thanks for the answer
Star Strider
Star Strider le 22 Oct 2017
As always, my pleasure.

Connectez-vous pour commenter.

Plus de réponses (0)

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!

Translated by