当前位置:文档之家› 求函数零点matlab代码

求函数零点matlab代码

1、%用牛顿法求f(x)=x-sin x的零点,e=10^(-6) disp('xxxx')

i=1;

n0=180;

p0=pi/3;

tol=10^(-6);

fori=1:n0

p=p0-(p0-sin(p0))/(1-cos(p0));

ifabs(p-p0)<=10^(-6)

%disp('|p-p0|=')

%disp(abs(p-p0))

disp('用xxxx求得方程的根为')

disp(p);

disp('迭代次数为:

')

disp(i)

break;

end

p0=p;

end

ifi==n0

disp(n0)

disp('次计算后无法求出方程的解')

end

2、%用求xx的方法求f(x)的零点

disp('求重根方法一');

p0=pi/3;

fori=1:n0p=p0-((p0-sin(p0)).*(1-cos(p0)))./((1-cos(p0)).^2-(p0-sin(p0)).*sin(p0)); if(abs(p-p0)

disp('用求重根的方法一求得方程的根p=')

disp(p)

disp('迭代次数为:

')

disp(i)

break;

else

p0=p;

end

end

ifi==n0&&~(abs(p-p0)

disp(n0)

disp('次迭代后没有用求重根的方法求出方程的根')

end

3、%用求xx的方法求f(x)的零点

disp('求重根方法二');

p0=pi/3;

fori=1:n0

p=p0-1*(p0-sin(p0))/(1-cos(p0));

if(abs(p-p0)

disp('用求重根的方法二求得方程的根p=') disp(p)

disp('迭代次数为:

')

disp(i)

break;

end

p0=p;

end

ifi==n0&&~(abs(p-p0)

disp(n0)

disp('次迭代后没有求出方程的根')

end

相关主题
文本预览
相关文档 最新文档