九、解非线性方程组的逐步搜索方法和二分法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、编写函数作图的程序,通过图形求出方程的近似解。

1、>> clear

>> syms x y

>> x=-10:0.1:10;

>> y=2.*x.*sin(x)-3;

>> plot(x,y);

>> grid

>> gtext('y=2.*x.*sin(x)-3')

2、>> clear

>> syms x y1 y2

>> x=0:0.1:10;

>> y1=2.*sin(x);

>> y2=3./x;

>> plot(x,y1,x,y2);

>> grid

>> gtext('y1=2sin(x),y2=3/x')

3、>> clear

>> syms x y

>> x=-2:0.1:4;

>> y=4.*x.^5-8.*x.^4-26.*x.^3+30; >> plot(x,y);

>> grid

>> gtext('y=4*x^5-8*x^4-26*x^3+30')

>> x=solve('4*x^5-8*x^4-26*x^3+30=0','x'); >> x1=double(x)

x1 =

1.0000

3.7117

-1.9244

-0.3936 + 0.9461i

-0.3936 - 0.9461i

二、用逐步搜索的方法求解。

function [k,r]=zhubuss(a,b,h,tol)

X=a:h:b;Y=funs(X);

n=(b-a)/h+1;m=0;

X(n+1)=X(n);Y(n+1)=Y(n);

for k=2:n

X(k)=a+k*h;

Y(k)=funs(X(k));

sk=Y(k)*Y(k-1);

if sk<=0

m=m+1;

r(m)=X(k);

end

xielv=(Y(k+1)-Y(k))*(Y(k)-Y(k-1));

if (abs(Y(k))

m=m+1;

r(m)=X(k);

end

end

(1)function y=funs(x)

y=2.*x.^3+2.*x.^2-3.*x-3

>> [k,r]=zhubuss(-2,2,0.001,0.0001)

k =

4001

r =

-1.2240 -1.0000 -1.0000 -0.9990 1.2250

(2)function y=funs(x)

y=sin(cos(2.*x.^3))

>> [k,r]=zhubuss(-2,2,0.001,0.0001)

k =

4001

r =

-1.9190 -1.7640 -1.5770 -1.3300 -0.9220

0.9230 1.3310 1.5780 1.7650 1.9200

三、用二分法求解。

1、>> clear

>> syms x y

>> x=-4:0.1:4;

>> y=x.^3-x+4;

>> plot(x,y)

>> grid;gtext('y=2*x^3+2*x^2-3*x-3')

2、>> x=-4:1:4,y=x.^3-x+4

x =

-4 -3 -2 -1 0 1 2 3 4 y =

-56 -20 -2 4 4 4 10 28 64 3、function [k,x,wucha,yx]=erfen(a,b,abtol)

a(1)=a;b(1)=b;

ya=fun(a(1));yb=fun(b(1));

if ya*yb>0

disp('ya*yb>0,重新调整区间端点a,b.')

return

end

max1=-1+ceil((log(b-a)-log(abtol))/log(2));

for k=1:max1+1

a;ya=fun(a);

b;yb=fun(b);

x=(a+b)/2;yx=fun(x);

wucha=abs(b-a)/2;k=k-1;

[k,a,b,x,wucha,ya,yb,yx]

if yx==0

a=x;b=x;

elseif yb*yx>0

b=x;yb=yx;

else

a=x;ya=yx;

end

if b-a

return

end

end

k=max1;x;wucha;yx=fun(x);

function y=fun(x)

y=x.^3-x+4

>> [k,x,wucha,yx]=erfen(-2,-1,0.001)

k =

9

x =

-1.7959

wucha =

9.7656e-004

yx =

0.0037

相关文档
最新文档