How to run this code on any inputs?Newton
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
Stephen23
2014-9-22
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!
采纳的回答
Matt J
2014-9-22
编辑:Matt J
2014-9-22
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 个评论
更多回答(1 个)
Stephen23
2014-9-22
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!
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Help and Support 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!