Getting only one output from a function with several ones
조회 수: 6 (최근 30일)
이전 댓글 표시
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
채택된 답변
Star Strider
2017년 10월 22일
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
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!