matlab的数值求解实验报告,Matlab常微分方程的求解实验报告.doc

《数学实验》报告

实验名称?Mat lab常微分方程的求解?

学 院 计算机与通信工程学院

专业班级? 计1103????????

姓??名????????

学??号???????

??

2013年6 月

【实验目的】

通过练习,熟悉Mat lab的求解常微分方程,函数文件的创建等。了解Mat lab的命令窗口及其基本操作和常用命令。

通过练习,熟悉Mat lab的一些基本操作,掌握符号解法和数值解法,以及其中常用的方法。

【实验任务】

求解微分方程y'=xsin(x)/cos(y)。

用数值方法求解下列微分方程,用不同颜色和线形将y和y'画在同一个图形窗口里:y''+ty'-y=1-2t,初始时间:t0=0;终止时间:tf=π;初始条件:y|t=0=0.1,y'|t=0=0.2。

【实验程序】

题一:

y= dsolve('Dy=x*sin(x)/cos(y)','x')

题二:

令:a=y,b=y'=a',b'=y''则 :

a'=0*a+1*b+0;b'=1*a-t*b+(1-2*t);

[a';b']=[0 1;1 -t][a;b]+[0;1](1-2*t);

故化为一阶微分方程有:

x'=[0 1;1 -t]x+[0;1]u;其中:x'=[a';b'],u=(1-2*t)。

初始条件:当t=0时,a=0.1;b=0.2。

function xd = mainfun( t,x )

%UNTITLED Summary of this function goes here

% Detailed explanation goes here

u=1-2.*t;

xd=[0 1;1 -t]*x+[0;1]*u;

end

clf;

t0=0;

tf=pi;

x0t=[0.1;0.2];%初始条件

[t,x]=ode23('mainfun',[t0,tf],x0t)

y=x(:,1);

Dy=x(:,2);

plot(t,y,'g--',t,Dy,'k-.')

xlabel('t轴'),ylabel('Y轴')

legend('原始函数y','一阶导数Dy')

【实验结果】

题一:

y =

asin(C3 + sin(x) - x*cos(x))

题二:

>> fun

t =

0

0.0145

0.0873

0.2014

0.3259

0.4621

0.6121

0.7778

0.9621

1.1482

1.2767

1.4053

1.5188

1.6706

1.8601

2.0891

2.3569

2.6546

2.9687

3.1416

x =

0.1000 0.2000

0.1030 0.2158

0.1214 0.2883

0.1598 0.3798

0.2116 0.4479

0.2756 0.4847

0.3485 0.4813

0.4245 0.4282

0.4939 0.3168

0.5388 0.1599

0.5513 0.0320

0.5466 -0.1069

0.5272 -0.2358

0.4780 -0.4127

0.3788 -0.6347

0.2037 -0.8952

-0.0742 -1.1797

-0.4677 -1.4646

-0.9691 -1.7290

-1.2793 -1.8586

【实验总结】

通过本次实验,熟悉了Mat lab的一些基本操作,通过练习,会求解常微分方程,并熟练掌握符号解法和数值解法,以及其中常用的方法,包括欧拉方法、梯形公式、龙格库塔方法等。

通过练习,熟悉Mat la

3

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值