Finding the root of an equation using iteration

조회 수: 13 (최근 30일)
Sara Jones
Sara Jones 2018년 10월 27일
편집: Stephan 2018년 10월 27일
I am attempting to find the root of the equation 3x^3+x^2-10 using iteration. Here is the code that I have so far, however I don't think I have implemented the while loop correctly since it the equation is currently only evaluated once. Essentially, the code ought to evaluate whether the absolute value of xVal-cVal is less than 0.0001 and if so, it should print out the value of cVal and stop. Otherwise, the value of xVal should be set to equal cVal and loop back, however the code does not do this.
xVal = input('Enter a value for x:');
cVal =((10-xVal^2)/3)^(1/3);
while (abs(xVal-cVal)>0.0001)
xVal = cVal;
end
disp(cVal);

답변 (1개)

Stephan
Stephan 2018년 10월 27일
편집: Stephan 2018년 10월 27일
Hi,
you miss to the actualize the value for cval in your while loop - Try:
xVal = input('Enter a value for x:');
cVal =((10-xVal^2)/3)^(1/3);
while (abs(xVal-cVal)>0.0001)
xVal = cVal;
cVal =((10-xVal^2)/3)^(1/3);
end
disp(cVal)
This will work.
Best regards
Stephan

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by