1.
function y=home2_1(m,n,er)
syms x xk
ff=x^5+sin(x)-1;
k=0;
a=m;
b=n;
while b-a>er
xk=(a+b)/2;
fa=subs(ff,x,a);
fx=subs(ff,x,xk);
k=k+1;
if fx==0
y(k)=xk;
break;
elseif fx*fa<0
b=xk;
else
a=xk;
end
y(k)=xk;
end
plot(y,'.-');
grid on
ab=home2_1(0,1,1e-5)
ab =
1 至 11 列
0.5000 0.7500 0.8750 0.8125 0.7813 0.7969 0.7891 0.7852 0.7832 0.7822 0.7827
12 至 17 列
0.7830 0.7831 0.7831 0.7831 0.7831 0.7831
>> vpa(ab,8)
ans =
[ 0.5, 0.75, 0.875, 0.8125, 0.78125, 0.796875, 0.7890625, 0.78515625, 0.78320312, 0.78222656, 0.78271484, 0.78295898, 0.78308105, 0.78314209, 0.78311157, 0.78309631, 0.78310394]
3.
function x=home2_3(xx,n)
x=zeros(1,n+1);
x(1)=xx;
for i=1:n
x(i+1)=x(i)-(x(i)^3-2*x(i)^2-5*x(i)+12)/(3*x(i)^2-4*x(i)-5);
end
>> format long
>> x=home2_3(1,10)
x =
1 至 5 列
1.000000000000000 2.000000000000000 4.000000000000000 3.111111111111111 2.490119512483730
6 至 10 列
1.779311405698884 2.697367296425390 2.103276523844542 15.788962803889621 10.830254403292455
11 列
7.557158585074190
4.
function [y,k]=home2_4(er,n,xa,xb)
syms x xk
x0=xa;
x1=xb;
ff=exp(x)-2*x^2-1;
y(1)=xa;
y(2)=xb;
k=2;
while abs(x1-x0)>er&k<n
f1=subs(ff,x,x1);
f0=subs(ff,x,x0);
x2=x1-f1*(x1-x0)/(f1-x0);
k=k+1;
y(k)=x2;
x0=x1;
x1=x2;
end
>> [r,n]=home2_4(1e-5,100,1000,0)
r =
1000 0 0
n =
3