《数学实验与Matlab》程序(5)

2019-01-12 13:57

量线段。

plot(x(1),y(i+1),'r.','Markersize',18);

subplot(2,1,1),plot([x(i+1) x(i+1)],[ymin ymax]);

h=plot([x(1) x(1)],[s(i),s(i+1)]); %画相应的辅助线

段。

set(h,'linestyle','-','linewidth',5,'color','red'); plot(x(1),y(i+1),'r.','Markersize',18); plot([x(1) x(i+1)],[s(i+1) y(i+1)],'r--')

pause 大时应该去掉。

end 】

myfun2_2.m (选择其它的函数进行实验,可修改此程序) 【 function y=myfun2_2(x)

sin(x); %y=sin(x)./(x); 】

4.3 实验与观察(Ⅱ): Matlab符号微积分简介

4.3.1 创建符号变量 4.3.2 求符号极限limit指令

◆观察 :求下列问题的极限: 【 syms x a

I1=limit('(sin(x)-sin(3*x))/sin(x)',x,0) I2=limit('(tan(x)-tan(a))/(x-a)',x,a)

I3=limit('(3*x-5)/(x^3*sin(1/x^2))',x,inf) 】

4.3.3 求导指令diff

1.符号求导指令diff

21

%暂停,n

【 syms x y

f=sym('exp(-2*x)*cos(3*x^(1/2))') diff(f,x)

g=sym('g(x,y)') %建立抽象函数。 f=sym('f(x,y,g(x,y))') %建立复合抽象函数。 diff(f,x)

diff(f,x,2) 】

2.数值求导指令diff

【 x=linspace(0,2*pi,50);y=sin(x);dydx=diff(y)./diff(x);

plot(x(1:49),dydx),grid 】

4.3.4 求符号积分int

【 syms x y z

I1=int(sin(x*y+z),z)

I2=int(1/(3+2*x+x^2),x,0,1)

I3=int(1/(3+2*x+x^2),x,-inf,inf) 】

4.3.5 化简、提取和代入

【 syms x a

t=(a+x)^6-(a-x)^6 t_expand=expand(t) t_factor=factor(t_expand)

t_simplify=simplify(t) 】 ◆ 观察: 将a?a0,b?1,c?4,x?x0代入表达式f?ab? 【 syms a b c x y a0 y0

f=a*b+c/x*y;

a='a0';b=1;c=4;x='x0';y=5; t= subs(f) 】 【 syms a b c x y a0 y0

f=a*b+c/x*y;

subs(f,{a,b,c,x,y},{'a0',1,4,'x0',5}) 】

22

c中求值。 xy

4.4应用、思考和练习

4.4.1 追击问题

1.追击问题的数值模拟 2. 追踪雷达失效的情形

3. 追线问题的解析解

【 syms y a v s0

x=sym('x(y)'); t=sym('t(y)'); %定义函数关

系。

f_left=-y*diff(x,y); f_right=s0+a*t-x; %方程左、右边表达式。 r_left=diff(f_left,y), 【 syms y d r

xs=simplify(dsolve('D2x=-r*sqrt(1+Dx^2)/y','x(20)=0','Dx(20)=0','y')) 】 【 r=0.4; y=20:-0.01:0;

x=1/2*(y.^(1+r)*r*20^(-r)+y.^(1-r)*r*20^r-40*r-y.^(1+r)*20^(-r)+y.^(1-r)*20^r)/(-1+r^2); shg,comet(x,y) 】

r_right=diff(f_right,y)

%

导 】

4.4.2 应用问题

1.枪支的设计

【clear,clf

x=[0.0127,0.0254,0.0381,0.0508,0.0635,0.0762,0.0889,0.1016,0.1143,0.1270,0.1397,0.1524,0.3175,0.3302,0.3429,0.3556,0.3683,0.3810,0.3937,0.4064,0.4191,0.4318,0.4445,0.4572,0.1651,0.1778,0.1905,0.2032,0.2159,0.2286,0.2413,0.2540,0.2667,0.2794,0.2921,0.3048,0.4699,0.4826,0.4953,0.5080,0

23

.5207,0.5334,0.5461,0.5588,0.5715,0.5842,0.5969,0.6096];

p=[0.10135,0.20064,0.27303,0.31095,0.33094,0.33991,0.34474,0.33577,0.31508,0.29578,0.27717,0.26131,0.11859,0.11238,0.10687,0.10204,0.09215,0.09308,0.08894,0.08480,0.08067,0.07722,0.07377,0.07032,0.24545,0.23097,0.21718,0.20339,0.19167,0.17995,0.16823,0.15789,0.14824,0.13927,0.13238,0.12548,0.06757,0.06481,0.06205,0.05929,0.05654,0.05378,0.05102,0.04826,0.04550,0.04274,0.04067,0.03861]; [xx,k]=sort(x);

pp=p(k);plot([0,xx],[0,pp],'-'),grid on, xlabel('枪 管 长 度 x'),

ylabel('压 强 p') 】

2.天然气井的开采量

实验5.用导数作定性分析

5.1知识要点:函数作图 —用导数定性描述函数

【 clf,x=linspace(-8,8,30);f=(x-3).^2./(4*(x-1)); plot(x,f) 】 【 fplot('(x-3)^2/(4*(x-1))',[-8,8])) 】

【 clf,x=sym('x'); f=(x-3)^2/(4*(x-1)); ezplot(f,[-8,8]) ,

title('(x-3)^2/(4*(x-1))','fontsize',11) ,

xlabel('x','fontsize',11) 】 ◆按函数绘图步骤绘制完整的函数图,直接用Matlab符号演算完成必须的计算。 【 df_dx=diff('(x-3)^2/(4*(x-1))') 】 【 sym('x');factor(df_dx) 】

【 f=inline('(x-3)^2/(4*(x-1))');X1=[-1,f(-1)],X2=[3,f(3)] 】

求符号二阶导数dy/dx:

2

2

【 df2_dx2=diff(‘(x-3)^2/(4*(x-1))’,2) 】

24

二阶导数的因式分解:

【 sym('x'); factor(df2_dx2) 】 【 syms x

f_left=limit('(x-3)^2/(4*(x-1))',x,1,'left')

f_right=limit('(x-3)^2/(4*(x-1))',x,1,'right') 】【 syms x

f_minus_inf=limit('(x-3)^2/(4*(x-1))',x,-inf,'right')

f_plus_inf=limit('(x-3)^2/(4*(x-1))',x,inf,'left') ③有无斜渐近线?

【 syms x, a=limit('((x-3)^2/(4*(x-1)))/x',x,inf) 【 b=limit('(x-3)^2/(4*(x-1))-(1/4)*x',x,inf,'left') 5.2实验与观察:微分方程的定性解图示

5.2.1人口增长的预测

1.Malthus模型 2.Logistic模型

【 N=dsolve('DN=r*(1-N/Nm)*N','N(t0)=N0') 3.微分方程解的定性分析

观察1:

◆(1)求N = N (t)的驻点和拐点。 【 syms t

dN2_dt2=diff('r*(1-N(t)/Nm)*N(t)',t) dN2_dt2=factor(dN2_dt2) 】

4.用导数作稳定性分析

25

】 】

, 】


《数学实验与Matlab》程序(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:公选课试题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: