matlab程序题

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

1.采用数值计算方法,画出dt t

t x y x

⎰=0sin )(在]10 ,0[区间曲线,并计算)5.4(y 。

(提示:cumtrapz 快捷,在精度要求不高处可用;quad 也可试。巧用find 。)第一种答:

程序代码

clear;

t=0:0.1:10;

y=sin(t)./t;

s =cumtrapz(t,y);

plot(t,y)

> y='sin(t)./t';

quad(y,0,4.5,0.01)

运行结果:

ans =

1.6541

第二种答:

程序代码

d=0.5; %分区间的区间间隔

tt=0:d:10; t=tt+(tt==0)*eps; %使0被一个极小数代替

y=sin(t)./t;

s=d*(cumtrapz(y)); %计算累计积分

plot(t,s),xlabel('x'),ylabel('y'),hold on

y1=interp1(t,s,4.5) %插值法计算y(4.5)

plot(4.5,y1,'*'),hold off

运行结果:

y1 =

1.6542

4. 设0)0(,1)0(,1)(2)(3)(22===+-dt

dy y t y dt t dy dt t y d ,用数值法和符号法求5.0)(=t t y 。

(提示:注意ode45和 dsolve 的用法。) 数值法:

编写M 函数文件DyDt.m

function ydot=DyDt(t,y)

ydot=[y(2);3* y(2)-2*y(1)-1];

%解算微分方程

tspan=[0.5,1]; y0=[1;0];

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

figure(1)

plot(tt,yy(:,1))

xlabel('t'),title('x(t)')

所以y

=1

0.5

符号法:

y=dsolve(‘D2y-3*Dy+2*y+1’,’y(0)=1,Dy(0)=0’,’x’) y =

3*exp(x) - (3*exp(2*x))/2 - 1/2

y1=3*exp(0.5)-(3*exp(2*0.5))/2-1/2

y 1=

0.3687

相关文档
最新文档