Getting only one output from a function with several ones
5 views (last 30 days)
Show older comments
Michael Bettar
on 22 Oct 2017
Commented: Star Strider
on 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?
0 Comments
Accepted Answer
Star Strider
on 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 Comments
More Answers (0)
See Also
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!