matlab程序题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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