您的当前位置:首页正文

数学实验MATLAB解常微分方程

2023-05-14 来源:保捱科技网
实验报告实验课程名称实验项目名称年专

级业

数学实验MATLAB解常微分方程2010级信计(101)成富1007010167学生姓名学

理学院实验时间:

20012年5月9日

学生实验室守则

一、按教学安排准时到实验室上实验课,不得迟到、早退和旷课。

二、进入实验室必须遵守实验室的各项规章制度,保持室内安静、整洁,不准在室内打闹、喧哗、吸烟、吃食物、随地吐痰、乱扔杂物,不准做与实验内容无关的事,非实验用品一律不准带进实验室。

三、实验前必须做好预习(或按要求写好预习报告),未做预习者不准参加实验。四、实验必须服从教师的安排和指导,认真按规程操作,未经教师允许不得擅自动用仪器设备,特别是与本实验无关的仪器设备和设施,如擅自动用或违反操作规程造成损坏,应按规定赔偿,严重者给予纪律处分。

五、实验中要节约水、电、气及其它消耗材料。

六、细心观察、如实记录实验现象和结果,不得抄袭或随意更改原始记录和数据,不得擅离操作岗位和干扰他人实验。

七、使用易燃、易爆、腐蚀性、有毒有害物品或接触带电设备进行实验,应特别注意规范操作,注意防护;若发生意外,要保持冷静,并及时向指导教师和管理人员报告,不得自行处理。仪器设备发生故障和损坏,应立即停止实验,并主动向指导教师报告,不得自行拆卸查看和拼装。

八、实验完毕,应清理好实验仪器设备并放回原位,清扫好实验现场,经指导教师检查认可并将实验记录交指导教师检查签字后方可离去。

九、无故不参加实验者,应写出检查,提出申请并缴纳相应的实验费及材料消耗费,经批准后,方可补做。

十、自选实验,应事先预约,拟订出实验方案,经实验室主任同意后,在指导教师或实验技术人员的指导下进行。

十一、实验室内一切物品未经允许严禁带出室外,确需带出,必须经过批准并办理手续。

1学生所在学院:姓名理学院成富2012-5-9学号专业:信计1007010167刘轶中班级:101实验组成绩实验时间实验项目名称指导教师MATLAB解微积分实验目的及要求:实验目的:1:学习MATLAB有关常微分方程计算指令;2:学会常微分方程(组)的数值求解Euler法和刚性方程组问题:3:分析数值计算法求解数学问题的局限性:4:建模实验研究常微分方程。实验要求:在MATLAB环境下熟练运用各知识作图实验(或算法)原理:根据函数的表达式,建立M文件规则MATLAB中语句的功能法输入相应的句子。建立M文件。运用数学函数中基本函数作图。、运用plot(x,y),ezplot(x,y)输入相应的变量。MATLAB将会根据输入的变量,作出相应图案2实验硬件及软件平台:PCMATLAB实验步骤:1打开MATLAB,进入到窗口状态。2根据要求输入要求的题目。3运用MATLAB特殊的函数编程。4检验程序是否正确。5运用结果。6分析得到的实验数据。实验内容(包括实验具体内容、算法分析、源代码等等):1(1):>>fun=inline('x+y','x','y');>>[t,y]=ode45(fun,[0123],1)t=0123y=1.00003.436611.778136.171131(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))41(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=1mu=251(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'63:>>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=120565ans=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.051179:>>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))

813:M文件>>fun=inline('x+y','x','y');[t,y]=nark4(fun,[03],1,0.1);[t,y]ans=Columns1through1100.10000.20000.30000.40000.50000.60000.80000.90001.0000Columns12through221.10001.20001.30001.40001.50001.60001.70001.90002.00002.1000Columns23through332.20002.30002.40002.50002.60002.70002.80002.90001.00001.1103Columns34through441.24281.39971.58361.79742.04422.32752.65113.43663.90834.4402Columns45through555.03865.71046.46347.30618.24799.299310.471811.778114.850016.6483Columns56through6218.646320.864923.327426.059429.089232.448236.171090.70001.80003.00003.019213.2323实验结果与讨论:在操作的时候不小心使运行进入了死循环或停顿,用Cril+C强行中断;在MATLAB中,使用M函数是以该函数的磁盘文件主名调用,而不是文件中的函数名称,但为了增强程序可读性,最好两者同名;MATLAB图形编辑器加中文文字如果出现问题,用指令text来实现;保存文件M要注意:(1)文件名一律用字母、数字或下划线组成,不要含有空格键、减号等;(2)M文件一般都用小写字母。(3)要防止它与变量名冲突;(4)MATLAB只执行已保存的M文件,所以不能忘了每次修改程序后都要存盘;MW文件要保存在当前目录,否则很可能得不得执行。指导教师意见:签名:年月日10

因篇幅问题不能全部显示,请点此查看更多更全内容