How to run this code on any inputs?Newton
1 view (last 30 days)
Show older comments
function [p,k] = newton(f,df,p0,tol)
for k=1:100
p = p0 - f(p0)/df(p0);
if abs(p-p0)<tol, break; end
p0 = p;
end
I have that but where do I put the tolerance, the function and everything else for it to run. I'm really new at all this.
4 Comments
Stephen23
on 22 Sep 2014
Read about function handles, it might help. And use the contents browser, which is on the left-hand side of the help window, to discover related topics... it really is very handy!
Accepted Answer
Matt J
on 22 Sep 2014
Edited: Matt J
on 22 Sep 2014
When you encounter commands or expressions that you don't understand, you should be reading their documentation pages to see what they do,
>> doc disp
>> docsearch 'function handle'
Even more importantly, you should be playing with these commands individually at the command line to test your understanding of the documentation. It should have been very easy for you to discover that disp() is a way to display results in the command window just by trying it,
>> disp([1,2])
1 2
>> disp([3,4,5])
3 4 5
It should have been similarly easy to learn that constructing function handles like
f=@(x) (x.^3+x+2);
allow your newton routine to evaluate your f(x) at different points, as the algorithm requires:
>> f(0)
ans =
2
>> f(1)
ans =
4
0 Comments
More Answers (1)
Stephen23
on 22 Sep 2014
What you have is a function, which can be run to create some outputs. It could be good to revise MATLAB's comprehensive help on calling functions . If you are learning MATLAB, you will have to get used to doing a lot of reading of help pages. But don't worry, MATLAB's help pages are really quite good, with plenty of examples to try, and explanations of concepts that you need to understand. You should learn to navigate using the help contents browser too. Good luck!
See Also
Categories
Find more on Help and Support in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!