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!