自己编的可以运行的第一个程序 牛顿法求根
%牛顿法求解方程的根;%自己编的可以运行的第一个程序;
a=[];
a(1)=0.5;
e=0.000002;
format long %确定输出格式;
syms x
f=x*exp(x)-1;
ezplot(f)
axis([-6 6 -10 100])
hold on
x=1:10;
y=zeros(1,10);
plot(x,y)
N=30;
z=diff(f);
disp('原函数为f=')
disp(f)
disp( 'f的导数为F=')
disp(z)
for k=2:N
% f的导数为exp(x)+x*exp(x);
if exp(a(1))+a(1)*exp(a(1)) ==0
disp(fprintf('奇异标志\n'));
else
a(k)=a(k-1)-(a(k-1)*exp(a(k-1))-1)/(exp(a(k-1))+a(k-1)*exp(a(k-1)));
if abs(a(k)-a(k-1))<=e;
disp('该方程的零点为X0=')
disp(a(k))
break
else
if k==N
fprintf('没有符合精度的值\n');
end
end
end
end
zoom on %在MATLAB指令窗中运行,获局部放大图
=ginput(5);zoom off %在MATLAB指令窗中运行,用鼠标获5个零点猜测 很好。。。。。。。。。。。。。。。。 w785485068 发表于 2012-12-16 15:45 static/image/common/back.gif
很好。。。。。。。。。。。。。。。。
:handshake
页:
[1]