数学实验MATLAB解常微分方程.docx
- 文档编号:30069682
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:11
- 大小:138.07KB
数学实验MATLAB解常微分方程.docx
《数学实验MATLAB解常微分方程.docx》由会员分享,可在线阅读,更多相关《数学实验MATLAB解常微分方程.docx(11页珍藏版)》请在冰豆网上搜索。
数学实验MATLAB解常微分方程
实验报告
实验课程名称数学实验
实验项目名称MATLAB解常微分方程
年级2010级
专业信计(101)
学生姓名成富
学号1007010167
理学院
实验时间:
20012年5月9日
学生实验室守则
一、按教学安排准时到实验室上实验课,不得迟到、早退和旷课。
二、进入实验室必须遵守实验室的各项规章制度,保持室内安静、整洁,不准在室内打闹、喧哗、吸烟、吃食物、随地吐痰、乱扔杂物,不准做与实验内容无关的事,非实验用品一律不准带进实验室。
三、实验前必须做好预习(或按要求写好预习报告),未做预习者不准参加实验。
四、实验必须服从教师的安排和指导,认真按规程操作,未经教师允许不得擅自动用仪器设备,特别是与本实验无关的仪器设备和设施,如擅自动用或违反操作规程造成损坏,应按规定赔偿,严重者给予纪律处分。
五、实验中要节约水、电、气及其它消耗材料。
六、细心观察、如实记录实验现象和结果,不得抄袭或随意更改原始记录和数据,不得擅离操作岗位和干扰他人实验。
七、使用易燃、易爆、腐蚀性、有毒有害物品或接触带电设备进行实验,应特别注意规范操作,注意防护;若发生意外,要保持冷静,并及时向指导教师和管理人员报告,不得自行处理。
仪器设备发生故障和损坏,应立即停止实验,并主动向指导教师报告,不得自行拆卸查看和拼装。
八、实验完毕,应清理好实验仪器设备并放回原位,清扫好实验现场,经指导教师检查认可并将实验记录交指导教师检查签字后方可离去。
九、无故不参加实验者,应写出检查,提出申请并缴纳相应的实验费及材料消耗费,经批准后,方可补做。
十、自选实验,应事先预约,拟订出实验方案,经实验室主任同意后,在指导教师或实验技术人员的指导下进行。
十一、实验室内一切物品未经允许严禁带出室外,确需带出,必须经过批准并办理手续。
学生所在学院:
理学院专业:
信计班级:
101
姓名
成富
学号
1007010167
实验组
实验时间
2012-5-9
指导教师
刘轶中
成绩
实验项目名称
MATLAB解微积分
实验目的及要求:
实验目的:
1:
学习MATLAB有关常微分方程计算指令;
2:
学会常微分方程(组)的数值求解Euler法和刚性方程组问题:
3:
分析数值计算法求解数学问题的局限性:
4:
建模实验研究常微分方程。
实验要求:
在MATLAB环境下熟练运用各知识作图
实验(或算法)原理:
根据函数的表达式,建立M文件规则MATLAB中语句的功能法输入相应的句子。
建立M文件。
运用数学函数中基本函数作图。
、
运用plot(x,y),ezplot(x,y)输入相应的变量。
MATLAB将会根据输入的变量,作出相应图案
实验硬件及软件平台:
PCMATLAB
实验步骤:
1打开MATLAB,进入到窗口状态。
2根据要求输入要求的题目。
3运用MATLAB特殊的函数编程。
4检验程序是否正确。
5运用结果。
6分析得到的实验数据。
实验内容(包括实验具体内容、算法分析、源代码等等):
1
(1):
>>fun=inline('x+y','x','y');
>>[t,y]=ode45(fun,[0123],1)
t=
0
1
2
3
y=
1.0000
3.4366
11.7781
36.1711
1
(2)。
>>fun=inline('[-2*y
(1)-3*y
(2);2*y
(1)+y
(2)]','t','y');
>>[t,y]=ode45(fun,[010],[-2.7;2.8]);plot(y(:
1),y(:
2))
>>plot(y(:
1),y(:
2))
1(3):
>>clear;close;
fun=@(t,y)[y
(2);0.01*y
(2)^2-2*y
(1)+sin(t)];
[t,y]=ode45(fun,[05],[0;1]);
plot(t,y(:
1))
1(4):
>>clear;close;
fun=@(t,y)[y
(2);2.5*y
(2)+1.5*y
(1)+45*exp(2*t)];
[t,y]=ode45(fun,[02],[2;1]);
plot(t,y(:
1))
1(5):
>>clear;close;
fun=@(t,y,mu)[y
(2);-mu*(y
(1)^2-1)*y
(2)-y
(1)];
[t,y]=ode45(fun,[020],[2;0],[],1);mu=1.
plot(y(:
1),y(:
2));holdon;
[t,y]=ode45(fun,[020],[2;0],[],2);mu=2.
plot(y(:
1),y(:
2),'r');holdoff;
mu=
1
mu=
2
1(6):
>>clear;close;
sinit=bvpinit(1:
0.5:
3,[2;0])
odefun=inline('[y
(2);-2/t*y
(2)+(2*y
(1)+10*cos(log(t)))/t/t]','t','y');
bcfun=inline('[ya
(1)-1;yb
(1)-3]','ya','yb');
sol=bvp4c(odefun,bcfun,sinit)
t=linspace(1,3,101);
y=deval(sol,t);
plot(t,y(1,:
),sol.x,sol.y(1,:
),'o',sinit.x,sinit.y(1,:
),'s')
legend('解曲线','解点','粗略解')
sinit=
solver:
'bvpinit'
x:
[11.500022.50003]
y:
[2x5double]
yinit:
[2x1double]
sol=
x:
[1x18double]
y:
[2x18double]
yp:
[2x18double]
solver:
'bvp4c'
3:
>>dfun=inline('[-1000.25*y
(1)+999.75*y
(2)+0.5;999.75*y
(1)-1000.25*y
(2)+0.5]','x','y');
[x,y]=ode45(dfun,[0,50],[1;-1]);length(x)
[x,y]=ode15s(dfun,[0,50],[1;-1]);length(x)
ans=
120565
ans=
1015:
5:
>>clear;close;
>>fun=inline('2*x+y^2','x','y');
[x,y]=ode45(fun,[01.57],0);
plot(x,y)
7:
>>clear;
fun=inline('c
(1)+exp(-c
(2)*t)*(-c
(1)+20)','c','t')
lsqcurvefit(fun,[301],[1020],[25.228.32])
fun=
Inlinefunction:
fun(c,t)=c
(1)+exp(-c
(2)*t)*(-c
(1)+20)
Optimizationterminated:
first-orderoptimalitylessthanOPTIONS.TolFun,
andnonegative/zerocurvaturedetectedintrustregionmodel.
ans=
33.00000.0511
9:
>>clear;close;
a=1;b=0.1;
dy=@(t,y)[y
(2)*y
(1)^a;-b*y
(2)];
[t,y]=ode45(dy,[0150],[1;2])
plot(t,y(:
1))
>>figure;dv=y(:
1).*y(:
2).^a;plot(t,dv);gridon;
11:
clear;close;
R=100;L=0.1;C=0.2;
fun=@(t,y)[y
(2);-R/L*y
(2)-y
(1)/L/C];
[t,u]=ode45(fun,[050],[20;0]);
[t,u(:
1)]
plot(t,u(:
1))
13:
M文件
>>fun=inline('x+y','x','y');
[t,y]=nark4(fun,[03],1,0.1);
[t,y]
ans=
Columns1through11
00.10000.20000.30000.40000.50000.60000.70000.80000.90001.0000
Columns12through22
1.10001.20001.30001.40001.50001.60001.70001.80001.90002.00002.1000
Columns23through33
2.20002.30002.40002.50002.60002.70002.80002.90003.00001.00001.1103
Columns34through44
1.24281.39971.58361.79742.04422.32752.65113.01923.43663.90834.4402
Columns45through55
5.03865.71046.46347.30618.24799.299310.471811.778113.232314.850016.6483
Columns56through62
18.646320.864923.327426.059429.089232.448236.1710
实验结果与讨论:
在操作的时候不小心使运行进入了死循环或停顿,用Cril+C强行中断;
在MATLAB中,使用M函数是以该函数的磁盘文件主名调用,而不是文件中的函数名称,但为了增强程序可读性,最好两者同名;
MATLAB图形编辑器加中文文字如果出现问题,用指令text来实现;
保存文件M要注意:
(1)文件名一律用字母、数字或下划线组成,不要含有空格键、减号等;
(2)M文件一般都用小写字母。
(3)要防止它与变量名冲突;
(4)MATLAB只执行已保存的M文件,所以不能忘了每次修改程序后都要存盘;
MW文件要保存在当前目录,否则很可能得不得执行。
指导教师意见:
签名:
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学 实验 MATLAB 微分方程