matlab数值微积分与方程数值求解

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

电子一班王申江

实验九数值微积分与方程数值求解

一、实验目的

1、掌握求数值导数和数值积分的方法

2、掌握代数方程数值求解的方法

3、掌握常微分方程数值求解的方法

二、实验内容

1、求函数在指定点的数值导数。

()

23

2

123,1,2,3 026

x x x

f x x x x

x

==

>>syms x

>>f=[x x^2 x^3;1 2*x 3*x^2;0 2 6*x]; >>F=det(f)

F=2*x^3

>>h=0.1

>>x=[0:h:4];

>>f=2*x^3;

>>[dy,dx]=diff_ctr(f,h,1);

>>y1=dy(dx==1)

y1=6.0000

>>y2=dy(dx==2)

y2=24.0000

>>y3=dy(dx==3) y3=54.0000

2、用数值方法求定积分。

(1)

210I π

=⎰的近似值 a=inline('sqrt(cos(t.^2)+4*sin((2*t).^2)+1)');

I=quadl(a,0,2*pi)

I =

6.7992 + 3.1526i

(2)()1

202ln 11x I dx x

+=+⎰ b=inline('log(1+x)./(1+x.^2)');

I=quadl(b,0,1)

I =

0.2722

3、分别用3种不同的数值方法解线性方程组。

6525494133422139211

x y z u x y z u x y z u x y u +-+=-⎧⎪-+-=⎪⎨++-=⎪⎪-+=⎩

A=[6,5,-2,5;9,-1,4,-1;3,4,2,-2;3,-9,0,2];

b=[-4,13,1,11]';

x=A\b

x =

0.6667

-1.0000

1.5000

-0.0000

4、求非齐次线性方程组的通解。

123412341

234273635224

9472x x x x x x x x x x x x +++=⎧⎪+++=⎨⎪+++=⎩

A=[2 7 3 1;3 5 2 2 ;9 4 1 7]

A =

2 7

3 1

3 5 2 2

9 4 1 7

>> b=[6 4 2]'

b =

6

4

2

>> rank(A)

ans = 2

>> rank([A,b])

ans =

2

>> x=pinv(A)*b

x =

-0.0571

0.7429

0.3429 -0.1143

5、求代数方程的数值解。

(1)03sin 0 1.5x x x e x +-==在附近的根

function f=fz(x)

f=3*x-sin(x*pi/180)-exp(x)

fzero('fz',-1.5)

ans =

0.6287

(2)在给定的初值0001,1,1x y z ===下,求方程组的数值解。

2sin ln 703231050y x y z x z x y z ⎧++-=⎪+-+=⎨⎪++-=⎩

function F=myfun (X) x=X(1);

y=X(2);

z=X(3);

F(1)=sin(x)+y^2+log(z)-7;

F(2)=3*x+2^y-3*z+1;

F(3)=x+y+z-5;

X=fsolve('myfun',[1,1,1],optimset('Display', 'off')) X = 0.2136 2.4359 2.3505

6、求函数在指定区间的极值。

(1)()3cos log x

x x x x f x e ++=在(0,1)内的最小值。 function f=f(x)

f=(x^3+cos(x)+x+x*log(x))/exp(x);

[x,fval]=fminbnd(f,0,1)

(2)()321,21121222410f x x x x x x x x =+-+在[0,

0]附近的最小值点和最小值。

function fxy(u)

x=u(1);

y=u(2);

f=2.*x.^2-6.*x.*y+y.^2;

[U,fmin]=fminsearch('fxy',[0,0])

7、求微分方程的数值解,并绘制解的曲线。

()()22'500000xd y dy y dx dx y y ⎧-+=⎪⎪⎪=⎨⎪=⎪⎪⎩

function dy=vdp5(x,y)

dy=zeros(2,1)

dy(1)=y(2)

dy(2)=5*y(2)/x-y(1)/x

[X,Y]=ode23('vdp5',[0,100],[0,0]);

plot(X,Y(:,1),'-')

8、求微分方程组的数值解,并绘制解的曲线。()()()'1'213'3121230.5100,01,01y yy y y y y y y y y y ⎧=⎪=-⎪⎨=-⎪⎪===⎩

function dy=rigid(t,y)

dy=zeros(3,1);

dy(1)=y(2)*y(3);

dy(3)=-0.51*y(1)*y(2);

[T,Y]=ode45('rigid',[0,20],[0,1,1]);

plot(T,Y(:,1),'-',T,Y(:,2),'+',T,Y(:,3),'*')

相关文档
最新文档