Matlab 牛顿方法求解方程
生活随笔
收集整理的這篇文章主要介紹了
Matlab 牛顿方法求解方程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
function [jie ,n]= newton(f,g,x0,tol)
%輸出:jie為牛頓法函數解;n為迭代次數;
%輸入:f為求解函數,g為其導數,x0為初始估計,tol為控制精度。
if g(x0)==0error('初始值不合適');
end
%避免出現導致牛頓法導數分母為零情況。
i=1;x(1)=x0;
x(i+1)=x(i)-f(x(i))/g(x(i));
while (abs(x(i+1)-x(i))>tol)i=i+1;x(i+1)=x(i)-f(x(i))/g(x(i));
end
jie=x(i+1);n=i;
end
例:求解函數在區間【0,3】上的根
>> f=@(x)14*x.*exp(x-2)-12*exp(x-2)-7*x.^3+20*x.^2-26*x+12;
>> g=@(x)40*x + 2*exp(x - 2) + 14*x*exp(x - 2) - 21*x^2 - 26;
>> [jie,n]=newton(f,g,0.9,0.5*10^-6)
jie =
? ?0.857142857142857
n =
? ? ?4
總結
以上是生活随笔為你收集整理的Matlab 牛顿方法求解方程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ML_Random_Forests
- 下一篇: 方程组求解matlab实现(朴素高斯求解