ch4数值计算Word文档格式.docx

上传人:b****6 文档编号:19168865 上传时间:2023-01-04 格式:DOCX 页数:46 大小:352.55KB
下载 相关 举报
ch4数值计算Word文档格式.docx_第1页
第1页 / 共46页
ch4数值计算Word文档格式.docx_第2页
第2页 / 共46页
ch4数值计算Word文档格式.docx_第3页
第3页 / 共46页
ch4数值计算Word文档格式.docx_第4页
第4页 / 共46页
ch4数值计算Word文档格式.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

ch4数值计算Word文档格式.docx

《ch4数值计算Word文档格式.docx》由会员分享,可在线阅读,更多相关《ch4数值计算Word文档格式.docx(46页珍藏版)》请在冰豆网上搜索。

ch4数值计算Word文档格式.docx

holdon

plot(t,dxdt_d)

图4.1-2

【例4.1-3】

clf

dxdt_diff=diff(x)/d;

dxdt_grad=gradient(x)/d;

%

subplot(1,2,1)

b'

plot(t,dxdt_grad,'

m'

8)

plot(t(1:

end-1),dxdt_diff,'

.k'

MarkerSize'

axis([0,2*pi,-1.1,1.1])

title('

[0,2\pi]'

dxdt_{grad}'

dxdt_{diff}'

Location'

North'

),boxoff

subplot(1,2,2)

kk=(length(t)-10):

length(t);

plot(t(kk),dxdt_grad(kk),'

om'

plot(t(kk-1),dxdt_diff(kk-1),'

[end-10,end]'

SouthEast'

holdoff

图4.1-3

.1.2数值求和与近似数值积分

【例4.1-4】

clear

d=pi/8;

%

pi/2;

%

y=0.2+sin(t);

s=sum(y);

s_sa=d*s;

%<

6>

s_ta=d*trapz(y);

%<

7>

disp(['

sum求得积分'

blanks(3),'

trapz求得积分'

])

disp([s_sa,s_ta])

t2=[t,t(end)+d];

y2=[y,nan];

hs=stairs(t2,y2,'

:

k'

3);

%<

12>

ht=plot(t,y,'

r'

%<

14>

stem(t,y)%

legend([hs,ht],'

sum'

trapz'

location'

best'

)<

16>

axis([0,pi/2+d,0,1.5])%

shg

sum求得积分trapz求得积分

1.57621.3013

图4.1-4

.1.3计算精度可控的数值积分

表4.2-1积分指令integral的选项名称、取值、及默认值

选项名

Name

允许值

Value

默认值

DefaultValue

含义

'

AbsTol'

正实数

RelTol'

ArrayValued'

false

true

Waypoints'

实数单调序列数组

复数序列数组

【例4.1-5】在

之间,求曲线

所夹区域的面积(参见图4.1-5)。

x=linspace(0.01,1.2,50);

g1=x.^(-0.2);

g2=x.^5;

plot(x,g1,'

-r.'

x,g2,'

-b*'

axis([0,1.2,0,3])

g_1(x)=1/x^{0.2}'

g_2(x)=x^5'

x位于[0,1]间的g_1(x)曲线与g_2(x)曲线所夹的区域'

图4.1-5

formatlong

G1=@(x)x.^-0.2;

8>

Q1=integral(G1,0,1)%<

9>

G2=@(x)x.^5;

%<

10>

Q2=integral(G2,0,1)%<

11>

S12=Q1-Q2%<

Q1=

1.250000027856048

Q2=

0.166********6667

S12=

.0833********

3)

G=@(x)x.^[-0.2;

5];

%<

13>

Q=integral(G,0,1,'

true)%<

S=[1,-1]*Q%<

15>

Q=

S=

1.083333361189381

4)

symst%

Gsym=vpa(int(t.^[-0.2;

5],0,1));

Ssym=Gsym

(1)-Gsym

(2)%

Ssym=

1.0833333333333333333333333333333

【例4.1-6】验证

图4.1-6

F=@(z)(2*z-1)./(z.*(z-1));

1>

Path=[2+1i,-1+1i,-1-1i,2-1i,2+1i];

2>

%

sf=integral(F,2+1i,2+1i,'

Path)

sf=

0.000000000000000+12.566370614359174i

.1.4函数极值的数值求解

【例4.1-7】

x1=-50;

x2=5;

yx=@(x)(sin(x).^2.*exp(-0.1*x)-0.5*sin(x).*(x+0.1));

%<

%

[xc0,fc0,exitflag]=fminbnd(yx,x1,x2)%<

3>

%

xc0=

-8.4867

fc0=

-1.8621

exitflag=

xx=-50:

pi/200:

5;

ezplot(yx,[-50,5])%<

5>

x'

),gridon

xx=[-23,-20,-18];

fc=fc0;

xc=xc0;

fork=1:

[xw,fw]=fminbnd(yx,xx(k),xx(k+1));

%<

iffw<

fc0

xc=xw;

fc=fw;

end

end

fprintf('

函数最小值%6.5f发生在x=%6.5f处'

fc,xc)

函数最小值-3.34765发生在x=-19.60721处

【例4.1-8】求

的极小值点。

ff=@(x)(100*(x

(2)-x

(1)^2)^2+(1-x

(1))^2);

formatshortg

x0=[-5,-2,2,5;

-5,-2,2,5];

[sx,sfval,sexit,soutput]=fminsearch(ff,x0)

%

sx=

0.99998-0.689710.415078.0886

0.99997-1.91684.96437.8004

sfval=

2.4112e-10

sexit=

1

soutput=

iterations:

384

funcCount:

615

algorithm:

'

Nelder-Meadsimplexdirectsearch'

message:

[1x194char]

formatshorte

disp([ff(sx(:

1)),ff(sx(:

2)),ff(sx(:

3)),ff(sx(:

4))])

2.4112e-105.7525e+022.2967e+033.3211e+05

.1.5常微分方程的数值解

【例4.1-9】求微分方程

,在初始条件

情况下的解,并图示。

functionydot=DyDt(t,y)

mu=2;

ydot=[y

(2);

mu*(1-y

(1)^2)*y

(2)-y

(1)];

%

tspan=[0,30];

y0=[1;

0];

[tt,yy]=ode45(@DyDt,tspan,y0);

%<

plot(tt,yy(:

1))

),title('

plot(yy(:

1),yy(:

2))%

位移'

),ylabel('

速度'

图4.1-7

.2矩阵和代数方程

.2.1矩阵的标量特征参数

表4.2-2

术语

数学含义

MATLAB指令

Rank

rank(A)

Trace

trace(A)

行列式Determinant

det(A)

【例4.2-1】

A=reshape(1:

9,3,3)%

r=rank(A)%

d3=det(A)%

d2=det(A(1:

2,1:

2))%

t=trace(A)%

A=

147

258

369

r=

2

d3=

0

d2=

-3

t=

15

【例4.2-2】

formatshort%

rngdefault%

A=rand(3,3);

B=rand(3,3);

C=rand(3,4);

D=rand(4,3);

tAB=trace(A*B)%

tBA=trace(B*A)

tCD=trace(C*D)%

tDC=trace(D*C)

tAB=

3.7479

tBA=

tCD=

3.3399

tDC=

3.3399

d_A_B=det(A)*det(B)

dAB=det(A*B)

dBA=det(B*A)

d_A_B=

-0.0852

dAB=

dBA=

-0.0852

dCD=det(C*D)

dDC=det(D*C)%

dCD=

-0.0557

dDC=

1.5085e-017

.2.2矩阵的变换和特征值分解

【例4.2-3】

A=magic(4)%

[R,ci]=rref(A)%

162313

511108

97612

414151

R=

1001

0103

001-3

0000

ci=

123

2)

r_A=length(ci)

r_A=

3

aa=A(:

1:

3)*R(1:

3,4)%

err=norm(A(:

4)-aa)%

aa=

13

8

12

err=

0

【例4.2-4】

15,5,3);

X=null(A)%

S=A*X%

n=size(A,2);

l=size(X,2);

n-l==rank(A)%

X=

-0.4082

0.8165

1.0e-014*

0.2665

0.3553

0.4441

0.6217

ans=

【例4.2-5】

A=[1,-3;

2,2/3]

[V,D]=eig(A)

1.0000-3.0000

2.00000.6667

V=

0.77460.7746

0.0430-0.6310i0.0430+0.6310i

D=

0.8333+2.4438i0

00.8333-2.4438i

[VR,DR]=cdf2rdf(V,D)

VR=

0.77460

0.0430-0.6310

DR=

0.83332.4438

-2.44380.8333

A1=V*D/V%

A1_1=real(A1)%

A2=VR*DR/VR

err1=norm(A-A1,'

fro'

err2=norm(A-A2,'

A1=

1.0000-3.0000-0.0000i

2.00000.6667

A1_1=

A2=

err1=

4.6613e-016

err2=

4.4409e-016

.2.3线性方程的解

101线性方程解的一般结论

102除法运算解方程

【例4.2-6】求方程

的解。

12,4,3);

b=(13:

16)'

;

%

ra=rank(A)%

rab=rank([A,b])%

ra=

2

rab=

2

xs=A\b;

xg=null(A);

c=rand

(1);

ba=A*(xs+c*xg)%

norm(ba-b)%

Warning:

Rankdeficient,rank=2,tol=1.8757e-014.

ba=

13.0000

14.0000

15.0000

16.0000

1.1374e-014

103矩阵逆

【例4.2-7】

rngdefault

A=gallery('

randsvd'

300,2e13,2);

x=ones(300,1);

b=A*x;

cond(A)%

2.0022e+013

tic%

xi=inv(A)*b;

ti=toc%

eri=norm(x-xi)%

rei=norm(A*xi-b)/norm(b)%

ti=

0.2034

eri=

0.0812

rei=

0.0047

tic;

xd=A\b;

td=toc

erd=norm(x-xd)

red=norm(A*xd-b)/norm(b)

td=

0.0125

erd=

0.0274

red=

7.5585e-015

.2.4一般代数方程的解

解题步骤大致如下:

(1)

(2)

【例4.2-8】

ft=sin(t)^2*exp(-0.1*t)-0.5*abs(t);

S=solve(ft,t)%<

ftS=subs(ft,t,S)%

ftS=

0

y_C=inline('

sin(t).^2.*exp(-0.1*t)-0.5*abs(t)'

);

%

t=-10:

0.01:

10;

Y=y_C(t);

clf,

plot(t,Y,'

plot(t,zeros(size(t)),'

ylabel('

y(t)'

holdoff

图4.2-1

zoomon%

[tt,yy]=ginput(5);

zoomoff%

图4.2-2

tt%

tt=

-2.0039

-0.5184

-0.0042

0.6052

1.6717

[t4,y4]=fzero(y_C,0.1)%<

18>

t4=

0.5993

y4=

1.1102e-016

.3概率分布和统计分析

.3.1概率函数、分布函数、逆分布函数和随机数的发生

101二项分布(Binomialdistribution)

【例4.3-1】画出N=100,p=0.5情况下的二项分布概率特性曲线。

N=100;

p=0.5;

k=0:

N;

pdf=binopdf(k,N,p);

cdf=binocdf(k,N,p);

h=plotyy(k,pdf,k,cdf);

set(get(h

(1),'

Children'

),'

Color'

Marker'

.'

13)

Ylabel'

String'

pdf'

set(h

(2),'

Ycolor'

[1,0,0])

set(get(h

(2),'

+'

4)

cdf'

%<

)%

gridon

图4.3-1

102正态分布(Normaldistribution)

【例4.3-2】

mu=3;

sigma=0.5;

x=mu+sigma*[-3:

-1,1:

3];

yf=normcdf(x,mu,sigma);

P=[yf(4)-yf(3),yf(5)-yf

(2),yf(6)-yf

(1)];

%

xd=1:

0.1:

yd=normpdf(xd,mu,sigma);

3

%-------------------------------

xx=x(4-k):

sigma/10:

x(3+k);

yy=normpdf(xx,mu,sigma);

%--------------------------------------------------

subplot(3,1,k),plot(xd,yd,'

holdon

fill([x(4-k),xx,x(3+k)],[0,yy,0],'

g'

holdoff

ifk<

text(3.8,0.6,'

[{\mu}-{\sigma},{\mu}+{\sigma}]'

else

kk=int2str(k);

text(3.8,0.6,['

[{\mu}-'

kk,'

{\sigma},{\mu}+'

{\sigma}]'

text(2.8,0.3,num2str(P(k)));

shg

end

shg

图4.3-2

103各种概率分布的交互式观察界面

【例4.3-3】概率分布交互界面使用方法介绍。

图4.3-3

.3.2全局随机流、随机数组和统计分析

101全局随机流的操控

表4.3-1

generator

算例

可取字符串

含义

twister'

v5uniform'

v5normal'

v4'

102三个基本随机数组创建指令

【例4.3-4】

rngdefault

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 少儿英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1