Finding the root of an equation using iteration
3 views (last 30 days)
Show older comments
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);
0 Comments
Answers (1)
Stephan
on 27 Oct 2018
Edited: Stephan
on 27 Oct 2018
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
0 Comments
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!