%%%程序编写者 西北工业大学自动化学院 Email: yincwxa2013@mail.nwpu.edu.cn
%% All rights reserved
clear
clc
x0=input('输入迭代初值x0=')
syms x
f=input('输入函数f(x)=')
df=diff(f)
t=1;
epuc=input('输入精度要求eupc=')
if epuc>0
epuc=epuc;
else epuc=0.000001
end
%牛顿迭代法
while(t>epuc)
x=x0
x1=x-eval(f)/eval(df);
t=abs(x-x1);
x0=x1;
end
x1
%%%%%%%%%
输入迭代初值x0=1.8
x0 =
1.8000
输入函数f(x)=x^4-x^2-3
f =
x^4-x^2-3
df =
4*x^3-2*x
输入精度要求eupc=0.00000000001
epuc =
1.0000e-011
x =
1.8000
x =
1.5842
x =
1.5223
x =
1.5175
x =
1.5175
x =
1.5175
x1 =
1.5175
转载本文请联系原作者获取授权,同时请注明本文来自殷春武科学网博客。
链接地址:http://blog.sciencenet.cn/blog-748007-751141.html
上一篇:数值分析--非线性方程组牛顿迭代法matlab程序
下一篇:数值分析--非线性函数抛物线迭代法matlab程序