MATLAB在微积分中的应用实验报告
实验六 matlab数值微分积分实验
软件学院 MATLAB 程序设计 课程实验报告 201 ~201 学年 第 学期 级 专业班级: 学号: 姓名:实验六 数值微分积分实验一、实验目的1.掌握基本的插值与拟合方法2.掌握使用数学工具Matlab 进行实际问题的插值和拟合建模二、实验内容1.解微分方程2. 求解积分三、实验环境1.工具软件:MATLAB2012b四、实验步骤1. 解微分方程(1)微分方程的解析解dsolve(‘方程1’, ’方程2’,…‘方程n ’, ‘初始条件…’, ‘自变量’)求微分方程的特解⎪⎩⎪⎨⎧===++15)0(',0)0(029422y y y dx dy dx y d(2)求微分方程组的通解⎪⎪⎪⎩⎪⎪⎪⎨⎧+-=+-=+-=z y x dtdz z y x dt dy zy x dt dx 244354332(3)常微分方程的数值解[t ,x]=solver (’f ’, ts, x0, options )解微分方程组⎪⎪⎩⎪⎪⎨⎧===-=-==1)0(,1)0(,0)0(51.0'''321213312321y y y y y y y y y y y y(4)实例-微分方程设位于坐标原点的甲舰向位于x 轴上点A(1, 0)处的乙舰发射导弹,导弹头始终对准乙舰.如果乙舰以最大的速度v 0(是常数)沿平行于y 轴的直线行驶,导弹的速度是5v 0,求导弹运行的曲线方程,并绘图表示。
2. 求解积分(1) quad 函数、quadl 函数quad8函数来求定积分例:被积函数f(x)=x*sin(x)/(1+cos(x)*cos(x)),x 的范围自定义(2) 梯形积分函数trapzX = sort(rand(1,101)*pi);Y = sin(X);Z = trapz(X,Y);(3)dblquad 函数用于求二重积分的数值解自变量范围:pi <= x <= 2*pi, 0 <= y <= pi ;被积函数z = y*sin(x)+x 2*cos(y)(4)triplequad 函数用于求三重积分的数值解五、分析与思考1、什么是解析解?什么是数值解?六、实验总结。
用matlab对微分方程求解实验报告.
o 《高等数学》上机作业(三一、上机目的1、学会用 M a t l a b 求简单微分方程的解析解。
2、学会用 M a t l a b 求微分方程的数值解。
二、上机内容1、求简单微分方程的解析解.2、求微分方程的数值解.3、数学建模实例.4、上机作业. 三、上机作业1. 求微分方程:在初值条件下的特解,并画出解函数的图形. 命令>> y =d s o l v e ('x *D y +y -e x p (x =0','y (1=2*e x p (1','x ' 运行结果:y = 1/x *e x p (x +1/x *e x p (1'xxy y e +-=12(y e =函数图象:2. 求微分方程的特解.22450(00,'(110d y dyy dx dx y y ?+-=???==?命令>> y=dsolve('D2y+4*Dy-5*y=0','y(0=0,Dy(1=10','x' 运行结果:y=10/(exp(1+5*exp(-5*exp(x-10/(exp(1+5*exp(-5*exp(-5*x3. 鱼雷追击问题一敌舰在某海域内沿着正北方向航行时,我方战舰恰好位于敌舰的正西方向 1 公里处.我舰向敌舰发射制导鱼雷,敌舰速度为0.42 公里/分,鱼雷速度为敌舰速度的2倍。
试问敌舰航行多远时将被击中?M文件x0=0; xf=0.9999999999999; [x,y]=ode15s('eq1',[x0 xf],[0 0]; plot(x,y(:,1,'b.'hold on;y=0:0.1:1;plot(1,y, '*'运行结果图像:结论:大概在y=0.67处击中敌方舰艇!(选做一个慢跑者在平面上沿椭圆以恒定的速率v=1跑步,设椭圆方程为:x=10+20cost, y=20+5sint. 突然有一只狗攻击他. 这只狗从原点出发,以恒定速率w跑向慢跑者,狗的运动方向始终指向慢跑者.分别求出w=20,w=5时狗的运动轨迹.W=20M文件代码function dy=eq3(t,ydy=zeros(2,1;dy(1=20*(10+20*cos(t-y(1/sqrt((10+20*cos(t-y(1^2+(2 0+15*sin(t-y(2^2;dy(2=20*(20+15*sin(t-y(2/sqrt((10+20*cos(t-y(1^2+(2 0+15*sin(t-y(2^2;运行命令t0=0;tf=10;[t,y]=ode45('eq3',[t0 tf],[0 0];T=0:0.1:2*pi;X=10+20*cos(T;Y=20+15*sin(T;plot(X,Y,'-'hold onplot(y(:,1,y(:,2,'r*'运行结果:利用二分法更改tf tf=5时tf=2.5时tf=3.15时:所以在t=3.15时刻恰好追上!W=5M文件代码function dy=eq4(t,ydy=zeros(2,1;dy(1=5*(10+20*cos(t-y(1/sqrt((10+20*cos(t-y(1^2+(20 +15*sin(t-y(2^2; dy(2=5*(20+15*sin(t-y(2/sqrt((10+20*cos(t-y(1^2+(20 +15*sin(t-y(2^2; 命令:t0=0;tf=10;[t,y]=ode45('eq4',[t0 tf],[0 0]; T=0:0.1:2*pi;X=10+20*cos(T; Y=20+15*sin(T; plot(X,Y,'-'hold onplot(y(:,1,y(:,2,'*' 运行结果更改tf=20运行结果Tf=40 11所以永远追不上!四、上机心得体会高等数学是工科学生的主干科目,它应用于生产生活的方方面面,通过建模,计算可以求出实际问题的最优化问题!因此我们需要掌握建模和利用专业软件处理实际问题的能力! 12。
matlab在微积分中的应用
matlab在微积分中的应用MATLAB在微积分中的应用一、MATLAB在求导和积分中的应用MATLAB集成了丰富的数学函数库,可以在求导和积分等方面帮助学生更好地理解微积分知识。
举例来说,MATLAB中的diff函数可以对一个函数或矩阵进行求导,计算结果准确可靠。
通过MATLAB可以解决一些手动计算困难的问题,有助于提高学生对微积分的理解。
在数值积分过程中,MATLAB也可以很好地发挥作用。
MATLAB中的quad函数可以用来求解函数在给定区间内的数值积分,通过对函数的积分计算,可以更好地理解微积分中的面积和曲线等概念。
在讲解微积分的面积和曲线时,使用MATLAB可以展示较多的面积和曲线实例,有助于学生理解具体实例。
二、MATLAB在微积分三维空间中的应用微积分中的三维空间部分,一般使用手工计算的方式进行,但是这种方式难度较大而且操作繁琐。
而MATLAB可以很方便地模拟三维空间中的曲线表面、曲面、向量场和曲线积分等,为学生提供更具体、直观的视觉体验。
MATLAB还可以使用画图函数,将许多计算步骤集成在一个命令窗口中,方便学生学习和理解三维空间的微积分。
三、MATLAB在微积分应用中的优点1. 计算精度高:MATLAB的计算精度非常高,可以解决许多手动计算困难的问题。
在使用MATLAB计算微积分时,可以快速得出精确的计算结果。
2. 操作简便:MATLAB界面友好,操作简便。
学生可以很容易地进行操作,快速理解微积分中的概念和原理。
3. 可视化更强:MATLAB可以将微积分的概念可视化,将微积分的理论和实际应用结合起来。
这样的教学方式更加形象直观,可以帮助学生更好地理解微积分的知识体系。
四、总结综合以上述,MATLAB在微积分中的应用,可以帮助学生更好地理解和掌握微积分的基本原理和概念,提高学生学习效率和学习兴趣。
MATLAB也为教师提供了一个新的教学工具,可以更加灵活地设计和授课,提高教学质量和教学效果。
数学建模实验二:微分方程模型Matlab求解与分析
实验二: 微分方程模型Matlab 求解与分析一、实验目的[1] 掌握解析、数值解法,并学会用图形观察解的形态和进行解的定性分析; [2] 熟悉MATLAB 软件关于微分方程求解的各种命令;[3] 通过范例学习建立微分方程方面的数学模型以及求解全过程; [4] 熟悉离散 Logistic 模型的求解与混沌的产生过程。
二、实验原理1. 微分方程模型与MATLAB 求解解析解用MATLAB 命令dsolve(‘eqn1’,’eqn2’, ...) 求常微分方程(组)的解析解。
其中‘eqni'表示第i 个微分方程,Dny 表示y 的n 阶导数,默认的自变量为t 。
(1) 微分方程 例1 求解一阶微分方程 21y dxdy+= (1) 求通解 输入:dsolve('Dy=1+y^2')输出:ans =tan(t+C1)(2)求特解 输入:dsolve('Dy=1+y^2','y(0)=1','x')指定初值为1,自变量为x 输出:ans =tan(x+1/4*pi)例2 求解二阶微分方程 221()04(/2)2(/2)2/x y xy x y y y πππ'''++-=='=-原方程两边都除以2x ,得211(1)04y y y x x'''++-= 输入:dsolve('D2y+(1/x)*Dy+(1-1/4/x^2)*y=0','y(pi/2)=2,Dy(pi/2)=-2/pi','x')ans =- (exp(x*i)*(pi/2)^(1/2)*i)/x^(1/2) +(exp(x*i)*exp(-x*2*i)*(pi/2)^(3/2)*2*i)/(pi*x^(1/2))试试能不用用simplify 函数化简 输入: simplify(ans)ans =2^(1/2)*pi^(1/2)/x^(1/2)*sin(x) (2)微分方程组例3 求解 d f /d x =3f +4g ; d g /d x =-4f +3g 。
用MATLAB求解常微分方程实验报告
实验五 利用Matlab 求解常微分方程(组)的实验报告学院:数计学院 班级:1003班 姓名:黄晓丹 学号:1051020144一.实验目的:熟悉Matlab 软件中关于求解常微分方程的各种命令. 掌握利用Matlab 软件进行常微分方程的求解。
二.相关知识在MATLAB 中,由函数dsolve()解决常微分方程(组)的求解问题,其具体格式如下:X=dsolve(‘eqn1’,’eqn2’,…)函数dsolve 用来解符号常微分方程、方程组,如果没有初始条件,则求出通解,如果有初始条件,则求出特解.用字符串方程表示,自变量缺省值为t 。
导数用D 表示,2阶导数用D2表示,以此类推。
S 返回解析解。
在方程组情形,s 为一个符号结构。
[tout,yout]=ode45(‘yprime’,[t0,tf],y0) 采用变步长四阶Runge-Kutta 法和五阶Runge-Kutta-Felhberg 法求数值解,yprime 是用以表示f(t,y)的M 文件名,t0表示自变量的初始值,tf 表示自变量的终值,y0表示初始向量值。
输出向量tout 表示节点(t 0,t 1, …,t n )T ,输出矩阵yout 表示数值解,每一列对应y 的一个分量。
若无输出参数,则自动作出图形.三.实验内容:例1 求下列微分方程的解析解(1)(2)(3)方程(1)求解的MATLAB 代码为:>>clear;>>s=dsolve('Dy=a*y+b')结果为s =-b/a+exp(a*t)*C1方程(2)求解的MATLAB 代码为:>>clear;>>s=dsolve('D2y=sin(2*x)-y','y(0)=0','Dy(0)=1','x')>>simplify(s) %以最简形式显示s结果为s =(-1/6*cos(3*x)-1/2*cos(x))*sin(x)+(-1/2*sin(x)+1/6*sin(3*x))*cos(x)+5/3*sin(x)ans =-2/3*sin(x)*cos(x)+5/3*sin(x)方程(3)求解的MATLAB 代码为:b ay y +='1)0(',0)0(,)2sin(''==-=y y y x y 1)0(',1)0(',','==-=+=g f f g g g f f>>clear;>>s=dsolve('Df=f+g','Dg=g-f','f(0)=1','g(0)=1')>>simplify(s,f) %s 是一个结构>>simplify(s.g)结果为ans =exp(t)*cos(t)+exp(t)*sin(t)ans =-exp(t)*sin(t)+exp(t)*cos(t)例2 求解微分方程先求解析解,再求数值解,并进行比较。
matlab求微分方程的解 实验报告四
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,通系电1,力过根保管据护线生高0不产中仅工资2艺料22高试2可中卷以资配解料置决试技吊卷术顶要是层求指配,机置对组不电在规气进范设行高备继中进电资行保料空护试载高卷与中问带资题负料2荷试2,下卷而高总且中体可资配保料置障试时2卷,32调需3各控要类试在管验最路;大习对限题设度到备内位进来。行确在调保管整机路使组敷其高设在中过正资程常料1工试中况卷,下安要与全加过,强度并看工且25作尽52下可22都能护可地1关以缩于正小管常故路工障高作高中;中资对资料于料试继试卷电卷连保破接护坏管进范口行围处整,理核或高对者中定对资值某料,些试审异卷核常弯与高扁校中度对资固图料定纸试盒,卷位编工置写况.复进保杂行护设自层备动防与处腐装理跨置,接高尤地中其线资要弯料避曲试免半卷错径调误标试高方中等案资,,料要编试求5写、卷技重电保术要气护交设设装底备备置。4高调、动管中试电作线资高气,敷料中课并设3试资件且、技卷料中拒管术试试调绝路中验卷试动敷包方技作设含案术,技线以来术槽及避、系免管统不架启必等动要多方高项案中方;资式对料,整试为套卷解启突决动然高过停中程机语中。文高因电中此气资,课料电件试力中卷高管电中壁气资薄设料、备试接进卷口行保不调护严试装等工置问作调题并试,且技合进术理行,利过要用关求管运电线行力敷高保设中护技资装术料置。试做线卷到缆技准敷术确设指灵原导活则。。:对对在于于分调差线试动盒过保处程护,中装当高置不中高同资中电料资压试料回卷试路技卷交术调叉问试时题技,,术应作是采为指用调发金试电属人机隔员一板,变进需压行要器隔在组开事在处前发理掌生;握内同图部一纸故线资障槽料时内、,设需强备要电制进回造行路厂外须家部同出电时具源切高高断中中习资资题料料电试试源卷卷,试切线验除缆报从敷告而设与采完相用毕关高,技中要术资进资料行料试检,卷查并主和且要检了保测解护处现装理场置。设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
matlab求微分方程的解-实验报告四
matlab求微分方程的解-实验报告四《matlab与数学实验》实验报告实验序号:实验四日期: 2015年 5 月 25 日班级132132002姓名彭婉婷学号 1321320057 实验名称求微分方程的解问题背景描述实际应用问题通过数学建模所归纳而得到的方程,绝大多数都是微分方程,另一方面,能够求解的微分方程也是十分有限的,特别是高阶方程和偏微分方程(组).这就要求我们既要研究微分方程(组)的解析解法(精确解),更要研究微分方程(组)的数值解法(近似解).实验目的本实验将主要研究微分方程(组)的数值解法(近似解),重点介绍 Euler 折线法.实验原理与数学模型MATLAB7.11.0主要内容(要点)1. 求微分方程0sin2')1(2=-+-xxyyx的通解.2. 求微分方程xeyyy x sin5'2''=+-的通解.3. 求微分方程组⎪⎪⎩⎪⎪⎨⎧=-+=++yxdtdyyxdtdx在初始条件0|,1|====ttyx下的特解,并画出解函数()y f x=的图形.4. 分别用 ode23、ode45 求上述第 3 题中的微分方程初值问题的数值解(近似解),求解区间为[0,2]t∈.利用画图来比较两种求解器之间的差异.5. 用 Euler 折线法求解微分方程初值问题⎪⎩⎪⎨⎧=-=1)0(,12'32yyxyy的数值解(步长h取0.1),求解范围为区间[0,2].选做:6. 用四阶 Runge-Kutta 法求解微分方程初值问题⎩⎨⎧=-=1)0(,cos'yxeyy x的数值解(步长h取0.1),求解范围为区间[0,3].迭代法实验过程记录(含基本步骤、主要程序清单及异常情况记录等)1.求微分方程0sin2')1(2=-+-xxyyx的通解.程序:clearsyms x yy=dsolve('(x^2-1)*Dy+2*x*y=sin(x)','x') 答案:y =-(C2 + cos(x))/(x^2 - 1)2.求微分方程xeyyy x sin5'2''=+-的通解.程序:clearsyms x yy=dsolve('D2y-2*Dy+5*y=exp(x)*sin(x)','x ')simplyify(x/y)weijiao答案:y =(exp(x)*sin(x))/6 - (sin(3*x)*exp(x))/8 + (sin(5*x)*exp(x))/24 + C4*cos(2*x)*exp(x) + sin(2*x)*exp(x)*(cos(x)/4 - cos(3*x)/12 + 1/6) + C5*sin(2*x)*exp(x)3. 求微分方程组⎪⎪⎩⎪⎪⎨⎧=-+=++00y x dt dy y x dt dx在初始条件0|,1|00====t t y x 下的特解,并画出解函数()y f x =的图形.程序:clearsyms x y t[x,y]=dsolve('Dx+x+y=0','Dy+x-y=0','x(0)=1','y(0)=0','t')ezplot(x,y,[0, 1])(t 的取值,t 是与x,y 相关的,如果不给范围,则会默认为一个较大的区间) simplify(x)simplify(y)答案:x =exp(2^(1/2)*t)/2 + 1/(2*exp(2^(1/2)*t)) - (2^(1/2)*exp(2^(1/2)*t))/4 +2^(1/2)/(4*exp(2^(1/2)*t))y =2^(1/2)/(4*exp(2^(1/2)*t)) -(2^(1/2)*exp(2^(1/2)*t))/4图形:4. 分别用 ode23、ode45 求上述第 3 题中的微分方程初值问题的数值解(近似解),求解区间为t .利用画图来比较两种求解器之间的差异.[0,2]先编写函数文件verderpol.m:clearfunction xprime=verderpol(t,x)xprime=[-x(1)-x(2); x(2)-x(1)];再编写命令文件cleary0=[1;0];[t,x] = ode45('verderpol',[0,2],y0);x1=x(:,1);x2=x(:,2);plot(x1,x2,'b-')hold ony0=[1;0];[t,x]=ode23('verderpol',[0,2],y0);x1=x(:,1);x2=x(:,2);plot(x(:,1),x(:,2),'r-');图形:两种求解器之间的差异:ode45大部分场合的首选算法ode23使用于精度较低的情形但在此题中并没有体现出差异。
Matlab微积分问题计算机求解实验
>> q2=quad('quad1',0,1)
【例】求exp(-x2)在[0,1]上的积分。
数值积分
3、编写被积函数表达式,函数名为f=@(x).exp(-x.^2);
>> q2=quad(f,0,1)
数值积分
(2)梯形法(被积函数由一个表格定义)
trapz函数采用梯形法求取数值积分,适用于由表格形式定义的函数关系的求定积分问题,求值速度快, 但精度差。
syms x; f=abs(x)/x;%给出待展开的函数 xx=[-pi:pi/200:pi]; xx=xx(xx~=0); xx=sort([xx,-eps,eps]);
Fourier级数的Matlab程序
yy=subs(f,x,xx);%计算f(x)的值 for i=1:20
[A,B,F]=fseries(f,x,n); y=subs(F,x,xx); subplot(4,5,n); plot(xx,yy);%画出f(x)的图像 hold on plot(xx,y);%画出Fourier级数的图像 end
K ex2dx 0
计算积分
21
( x1)2
练习:
e 2 dx,
0 2
e2t 2 x 2 1
dx
cost (2 x 2 3 x 1)2
符号求和
symsum(u,n,n0,nn): symsum(f,a,b): 关于默认变量求和
例:计算级数
S 1 及其前100项的部2 分和 n n 1
>> syms n; f=1/n^2;
>> S=symsum(f,n,1,inf)
>> S100=symsum(f,n,1,100)
微积分MATLAB数学实验
培养学生的创新能力和实践能力 , 提高学生对数 学的应用意
识 并培 养 学 生 用 所 学 的数 学 知识 和 计 算 机 技 术 去 认 识 问题
和解 决实 际问题的能力 。开展 MA L T AB数学实验教学 ,是
一
F 5 - h ( i1 lg x) mln ’ ’ , o () 1 = 1 E 一
从人才培养的角度考虑 复合型人才越来越受到重视 , 这需要学生既具有扎实 的专业基础 , 又具有较好的动手实践
和应变能力 ,能够从多方位、多角度、运 用多种技术手段 分析问题、解决问题。在教 学研究和实践 中发现 ,数学实验 课程能够在复合型人才培养中起到比较好 的效 果。 学实验 数
是 计 算机 技术 和 数 学 、 软件 引 入 教 学 后 出现 的一 种 教 学 方 法 , 够 有 效地 帮 助 学 生 学 会 独 立 使 用 各种 先 方 法解 决 问题 能
许多领 域,特别是在设计研究单位和 工业部门,MA L T AB 得到广泛的运用 。如美国 N ̄inlnt met 公司信号测 o a Isu ns r
量、分析软件 L b E a VIW,C d ne 司信号和通信分析设 a ec 公
计 软件 S W 等 ,或 者直 接建 筑在 MA L P T AB之 上 ,或者 以 MA L T AB为 主 要 支撑 。又 如 H P公 司 的 V 硬 件 ,T 公 X1 M
MA L T AB实 验
( 取奇解 曲线 的图柄 )
st c’ lr', ie it ’ 1 e( . o' 'L n W dh. c Co , ' r 5
( 奇 解 画 成粗 红线 ) 把
<> 4
MATLAB实验报告2
MATLAB实验报告2实验(2)Matlab 基础操作实验:符号运算求解微积分与线性代数1. 求下列函数极限(Find the limits of the following functions )(1) 0sin lim x xx →syms x r ;r=sin(x)/x;limit(r,x,0)ans =1(2) 1lim(1)x x x →∞+syms x r ;r=(1+1/x)^x;limit(r,x,inf)ans =exp(1) (3) lim (1)xx a x →+∞+syms x r a ;r=(1+a/x)^x;limit(r,x,inf)ans =exp(a)(4) 1lim (1)xx x →-∞+syms x r ;r=(1+1/x)^x;limit(r,x,-inf)ans =exp(1) (5)201cos lim x xx →-syms x r ;r=(1-cos(x))/(x^2);limit(r,x,0)ans =实验(2)Matlab 基础操作实验:符号运算求解微积分与线性代数1/2(6) lim nsyms n r ;r=n^(1/n);limit(r,n,inf)ans =1(7)0lim x x π+→ syms x n r ;r=(cos(sqrt(x)))^(n/x);limit(r,x,0,'right')ans =1/exp(n/2)2.求下列函数的导数或偏导数( Find the derivatives of the following functions)(1)()()f x g x ==syms x a b c f g ;f=sqrt(a*x^2+b*x+c);g=sqrt(exp(x^2)+x*sin(x));a1=diff(f,x)a2=diff(g,x)a1 =(b + 2*a*x)/(2*(a*x^2 + b*x + c)^(1/2))a2 =(sin(x) + 2*x*exp(x^2) + x*cos(x))/(2*(exp(x^2) + x*sin(x))^(1/2))(2)3()ln()f x x =syms x f ;f=log(x^3);实验(2)Matlab基础操作实验:符号运算求解微积分与线性代数diff(f,x)ans =3/x(3)Find the 3rd derivative of f(x).()f x=2xxe-syms x f;f=x*exp(-x^2);diff(f,x,3)ans =(24*x^2)/exp(x^2) - 6/exp(x^2) - (8*x^4)/exp(x^2) (4) )Find23222(235)x x y yx-+-?syms x y f;f=x^3-2*x^2*y^2+3*y-5; diff(f,x,2)ans =6*x - 4*y^2(5)Find2322(235)x x y yx y-+-.syms x y f;f=x^3-2*x^2*y^2+3*y-5;fx=diff(f,x);fxy=diff(fx,y)fxy =-8*x*y3. 求下列函数的不定积分或定积分(Find indefinite integrals or definite integrals of the functions)(1)1(sin2cos3)xx x e dxx--++syms x s;s=sin(x)-2*cos(3*x)+1/x+exp(-x); int(s,x)ans =实验(2)Matlab 基础操作实验:符号运算求解微积分与线性代数log(x) - (2*sin(3*x))/3 - cos(x) - 1/exp(x)(2)sin()x x e e dx ?syms x s ;s=exp(x)*sin(exp(x));int(s,x)ans =-cos(exp(x))(3)2syms x s ;s=x^2/(sqrt(x^6)+4);int(s,x)Warning: Explicit integral could not be found.ans =int(x^2/((x^6)^(1/2) + 4), x)(4)cos3cos5x xdx ?syms x s ;s=cos(3*x)*cos(5*x);int(s,x) ans =sin(2*x)/4 + sin(8*x)/16(5) syms x s a ;s=(sqrt(x^2-a^2))/x;int(s,x)ans =实验(2)Matlab 基础操作实验:符号运算求解微积分与线性代数(x^2 - a^2)^(1/2) - log(((-a^2)^(1/2) + (x^2 -a^2)^(1/2))/x)*(-a^2)^(1/2)(6) sin ax e bxdx ?syms x s a b ;s=exp(a*x)*sin(b*x);int(s,x)ans =-(exp(a*x)*(b*cos(b*x) - a*sin(b*x)))/(a^2 + b^2) (7) 0πsyms x s ;s=sqrt(sin(x)-(sin(x))^3);int(s,x,0,pi)Warning: Explicit integral could not be found.ans =int((sin(x) - sin(x)^3)^(1/2), x = 0..pi) (8) 211dx x +∞? syms x s ;s=1/(x^2);int(s,x,1,inf)14. 解下列方程(Solve the equations.)x =syms x ;solve(sqrt(1-x^2)-x,x)ans =2^(1/2)/2实验(2)Matlab基础操作实验:符号运算求解微积分与线性代数(2)1024x y zx y zx y z++=-+=--=-syms x y z;s=solve(x+y+z-10,x-y+z,2*x-y-z+4,x,y,z) s.x,s.y,s.z s =x: [1x1 sym]y: [1x1 sym]z: [1x1 sym]2ans =5ans =3(3)240330sin0x xy zx yzy z++=+-=+=syms x y z;s=solve(x^2+4*x*y+z,x+3*y*z-3,y+sin(z),x,y,z) s.x,s.y,s.z s =x: [1x1 sym] y: [1x1 sym] z: [1x1 sym]实验(2)Matlab 基础操作实验:符号运算求解微积分与线性代数ans =-6.4840528860501102693511549985753ans =-0.071995758403084664887655346911159ans =-43.9102390493223146672631539563435. 求解下列常微分方程(Solve the following ordinary differential equations.)(1)ln()xy y xy y '=-syms x y ;s=dsolve('x*Dy=y*log(x*y)-y','x')s =1/xexp(exp(C8 + log(x)))/x (2)20(1)5dv t dt v ?+==? syms v t ;s=dsolve('Dv+2*t=0','v(1)=5','t')s =6 - t^2(3)()0y a b y aby '''-++=syms a b x y ;s=dsolve('D2y-(a+b)*Dy+a*b*y=0','x')s =实验(2)Matlab 基础操作实验:符号运算求解微积分与线性代数C13*exp(a*x) + C14*exp(b*x)6. 用MATLAB 验证(Use MALTAB to prove the following identities)(1) 22sin cos 1x y +=syms x ;s=solve((sin(x))^2+cos((x))^2-1,x)s =C_求解此方程所得的解是全体实数因此该等式在实数域上成立。
偏微分方程数值解上机实验报告(matlab做的)
偏微分方程数值解法上机报告(一)一、实验题目:用Ritz-Galerkin 方法求解边值问题2u '',01(0)0,(1)1u x x u u ⎧-+=<<⎨==⎩的第n 次近似()n u x ,基函数()sin(),1,2,...,i x i x i n ϕπ==.二、实验目的:通过本次上机实验,理解求解初值问题的变分问题的最重要的近似解法——Ritz-Galerkin 方法,以便为学习有限元法打好基础。
此外,要熟悉用Matlab 解决数学问题的基本编程方法,提高运用计算机解决问题的能力。
三、实验代码:n=5;syms x;for i=1:np(i)=sin(i*pi*x);q(i)=-i^2*pi^2*sin(i*pi*x);endfor i=1:nb(i)=2*int(p(i),0,1);for j=1:nA(i,j)=int((-q(j)+p(j))*p(i),0,1);endendt=inv(A)*b'四、运行结果:t=2251799813685248/3059521645650671/pi281474976710656/9481460623939047/pi281474976710656/43582901062631895/pi五、总结:通过本次上机,我了解了Ritz-Galerkin 方程 n j j p f cj p i p a n i i ,...,2,1)),(,())(),((1==∑=,明白了用Ritz-Galerkin 方法解决边值问题的变分问题的基本原理,并接近一步提高自己的编程动手能力,受益匪浅。
偏微分方程数值解法上机报告(二)一、 实验题目:用线性元求下列边值问题的数值解2''2sin ,0142(0)0,'(1)0y y x x y y ππ⎧-+=<<⎪⎨⎪==⎩二、 实验目的:通过本次上机,熟悉和掌握用Galerkin 法观点出发导出的求解处置问题数值解的线性有限元法。
同济大学Matlab实验报告(matlab应用实例)
实 验 报 告班级机械三班学号姓名- 1 -- 2 -画出衰减振荡曲线t ey t 3sin 3-=及其它的包络线30t e y -=,31t e y --=。
t 值的范围是');- 3 -4.通过M 脚本文件,画出下列分段函数所表示的曲面,用冷色调。
⎪⎪⎩⎪⎪⎨⎧-≤+≤+<->+=+-------15457.0117575.015457.0),(215.175.375.0216215.175.375.02112122212212122x x e x x ex x e x x p x x x x x x x x [X1,X2]=meshgrid(-1.5:0.1:1.5,-2:0.1:2);P=0.5457*exp(-0.75*X2.^2-3.75*X1.^2-1.5*X1).*(X1+X2>1)... + 0.7575*exp(-X2.^2-6*X1.^2).*(X1+X2>-1&X1+X2<=1)... + 0.5457*exp(-0.75*X2.^2-3.75*X1.^2+1.5*X1).*(X1+X2<=-1); surf(X1,X2,P);colormap(cool);colorbar('horiz'); shading flat;实验体会与总结通过此次实验,把课堂所学的理论知识运用到了实际中,了解了Matlab 的基本功能和用途。
经过4个实验基,本上掌握了Matlab 绘制曲线、曲面和构造分段函数的方法,相信此次实验会为以后Matlab 的学习奠定坚实的基础。
- 1 -实 验 报 告班级 机械三班 学号 姓名的值,输出一元二次方程2ax bx c ++=root方程形式:a*x^2+b*x+c=0 请输入各项系数: a=1 b=1 c=-1ans =-1.6180 0.6180exchange 请输入x :1 请输入y :0 x=0, y=1- 2 -',num2str(discount*100),'%']) 请输入商品价格:100折扣: 0%实际价格:100请输入商品价格:300 折扣: 3% 实际价格:291请输入商品价格:700 折扣: 5% 实际价格:665 请输入商品价格:1500 折扣: 8% 实际价格:1380请输入商品价格:3000折扣: 10% 实际价格:2700 请输入商品价格:6000 折扣: 14% 实际价格:5160- 3 -4.在.m 文件中编写程序实现,在同一坐标内,分别用不同线型和颜色绘制曲线0.510.2cos(4)y e x x π-=和0.522cos()y e x x π-=,标记两曲线交叉点,给出每条曲线的图注。
用MATLAB解微积分问题的实验报告4
>>xa=-2:0.2:2;ya=-2:0.5:2;[x,y]=meshgrid(xa,ya); >>z=x.*exp(-x.^2-y.^2); >>[px,py]=gradient(z,xa,ya); %画出函数的方向导数 >>contour(x,y,z),hold on,quiver(x,y,px,py),hold off 3.梯形积分法 指令: z=trapz (x, y) x 是表示积分区间的离散化向量; y 也是与 x 同 维数的向量,表示被积函数;z 返回积分近似值 实验原理:先将积分区间分解为几个小区间,用每个小区间上梯形 面积之和作为积分近似值 例如:求积分
2 2 2 2 xe(x +y ) dxdy 0 −2
和
������ 1 1 (ysint 0 0 −1
+ zcost) dtdydz
建立 M 文件,内容如下: fun=inline('x.*exp(x.^2+y.^2)','x','y'); dblquad(fun,0,2,-2,2) fun=inline('y.*sin(t)+z.*cos(t)','t','y','z'); triplequad(fun,0,pi,0,1,-1,1) 实验结果: (保存之后,运行结果如下: ) ans=881.8304
������, ������ ������������求解
������ ������−������ ������ ( −������ − ������−������ ������
������ ������ +������ ������
实验4__MATLAB在微积分学的应用
二重极限: 二重极限: 数学模型
matlab表达式 表达式
【例3-3】求出二元函数极限值 】
syms x y a; f=exp(-1/(y^2+x^2))*(sin(x)^2/x^2)*... (1+1/y^2)^(x+a^2*y^2); L=limit(limit(f,x,1/sqrt(y)),y,inf)
例 3-9 求解∫ 0 dx∫ 0 - syms x y z;
1
1− x 2
dy∫
1− x − 2 y 0
xdz
int(int(int(x,z,0,1-x-2*y),y,0,(1-x)/2),x,0,1)
4.方程求解问题 方程求解问题
默认以x,y, 作为变量 默认以 ,z…作为变量
solve('2*x=4')
数学问题的解析解与数值解(略)
数学家和其他科学技术工作者的区别 数学家:理论严格证明、存在性 工程技术人员:如何直接得出解 解析解不能使用的场合
– 不存在 – 数学家解决方法,引入符号erf(a) – 工程技术人员更感兴趣积分的值 数值解
解析解不能使用的场合
– – – – 解析解不存在:无理数,无限不循环小数 π 数学家:尽量精确地取值,小日本60亿位 工程技术人员:足够精确即可 祖充之 3.1415926,阿基米德的~3.1418
solve('a*x^2 + b*x + c')
solve('a*x^2 + b*x + c','b') S = solve('x + y = 1','x - 11*y = 5')
微 积 分 MATLAB 实 验
微积分MATLAB实验MAO YUHUI微积分MATLAB实验(2005年11月修改稿)§1 MATLAB 导引一、关于数学软件在当今众多数学类科技应用软件中,就其原始内核而言,可分为两大类:一类是数学解析型软件,如 Mathematica、Maple、Mathcad 等,它们以符号计算见长;另一类是数值计算型软件,如MATLAB等,它们对大批数据具有较强的管理、计算和可视化能力.这四种软件在数学软件市场据于主导地位.本附录采用的实验软件是MATLAB.二、关于MATLAB1980 年前后,MATLAB的首创者Cleve Moler 博士在美国新墨西哥大学讲授线性代数课程时,为学生构思开发了矩阵计算专用软件MATLAB ( MATrix LABoratory , 矩阵实验室 ),使学生不致花费太多的时间在繁琐的运算与编程上.至1983年,Cleve Moler和John Little 采用C语言改写了MATLAB的内核.不久,他们成立了Mathworks公司,并将MATLAB 正式推向市场.MATLAB软件从1984年推出第一个版本到目前的MATLAB 7.1,总共已发布了十余个版本.随着版本不断更新,MATLAB 的功能越来越多,使用起来也越来越方便.MATLAB由主包、动态仿真(Simulink)以及功能各异的工具箱(Toolbox)组成.Toolbox的内容非常广泛,涉及数学、控制、通讯、经济、地理、信号处理、图象处理、神经网络等多种学科的数十种工具和模块集,为用户提供了丰富而实用的资源.此外,借助Maple的威力,MATLAB也具有相当强的扩展符号运算的功能.下面介绍使用MATLAB的基本知识.三、启动MATLAB安装完毕MATLAB软件后,在Windows桌面上会自动创建MATLAB快捷方式图表.由此启动MATLAB后出现指令窗“MATLAB”.在提示符“》”(或光标位置符“|”)后,便可输入指令(程序).四、数据的输入和输出MATLAB的基本数据结构是矩阵,向量被看作是特殊的矩阵.有多种方法输入(产生)和输出矩阵,下面介绍几种最基本的方法.(1)直接写入矩阵输入矩阵时,用方括号[]作为矩阵的定界符,用逗号或空格分隔各列,用分号分隔各行.例如键入A=[1, 2, 3; 4, 5, 6; 7, 8, 9 ]或A=[1 2 3; 4 5 6; 7 8 9 ]均产生一个3 3矩阵A⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321; 键入a =[10, 11, 12]则产生一个1⨯3向量.屏幕显示为注1.在MATLAB 中,大写字母与小写字母是不能混同的( 如上面的A与a 互不相 同 );注2.上面输入矩阵A与a 的句末不加任何标点而直接“ 回车”,MATLAB 将立即在其后输出(屏幕显示)A与a 的结果.若在句末加分号“ ;”而后再“回车”,则结果不会被输出.这两种方式同样适用于其它类似的情形.注3.用小矩阵可以合并成大矩阵,例如上面已经输入了矩阵A和a ,则有其中a' 是 a 的转置.(2)利用冒号“:”产生矩阵例如,输入 x = 1 : 5 ,将产生一个元素值由1到5增量为1的行向量x =[1,2,3,4,5];输入 x = 2: 0.5:4,将产生一个元素值由2到4增量为0.5的行向量x =[2,2.5,3,3.5,4];输入 x = 6:-0.2:5,则产生一个元素值由6到5增量为-0.2的行向量x =[6,5.8,5.6,5.4,5.2,5].利用冒号也可以从大矩阵中抽取子矩阵.例如上面已经输入了矩阵C,则指令D =C( 2 : 3,2 : 4 )将产生一个2⨯3的子矩阵,其元素是C的第2行至第3行、第2列至第4列.屏幕显示为:(3)获取(或定义)矩阵元素可用小括号标识矩阵的单个元素.例如, 相继输入C (2, 3 ) 和a(5)=-a(1)后,屏幕分别显示为:注1“ans = 6”表示矩阵C中位于第2行、第3列的元素为6;其中“ans”是MATLAB的一个内部变量,意即“答案(answer)”.注2定义了新元素 a (5) = -a (1) = -10 后,原来维数为3的向量a,其维数自动扩大为5了,未定义的 a(4)则自动置为0,输出的a = [ 10 11 12 0 -10 ] 就是经扩维后得到的新向量.在MATLAB中没有维数说明语句,它会自动确定矩阵的维数.(4)特殊矩阵●size(A)查询矩阵A的维数.●ones()产生全1矩阵.用法如下:ones ( n ) 产生全1(n⨯n) 矩阵;ones ( m, n ) 产生全1(m⨯n)矩阵;ones (size (A)) 产生与A同维数的全1矩阵.● zeros () 产生全0矩阵,用法同上.● eye () 产生单位矩阵(主对角线元素为1,其他元素为0),用法同上. ● diag () 产生对角矩阵:若v 是n 元向量(行向量或列向量),则diag ( v ) 是一个 n 阶的方阵,其主对角线元素为 v ,其他元素为0.(5)几个内部永久变量 ● pi 即圆周率π.● eps 浮点相对精度.对于大多数PC 机的IEEE 算术标准,eps = 16521022.22--⨯≈.● inf 无穷大.产生 inf 的方法之一是 1/0,除数为0时不会导致终止运行, 但会给出警告信息.● NaN 非数( Not a Number ).由0/0、inf /inf 或 inf - inf 得到.五、矩阵运算和数组运算矩阵的代数运算在MATLAB 中分为“矩阵运算”和“数组运算”两种操作.其中,矩阵运算是按照线性代数运算法则定义的;数组运算是按元素逐个执行的.两者的区别主要体现在相乘、相除与乘方三种运算上.列表如下:六、数组函数和矩阵函数数组函数 f (A)是对数组A( 矩阵或向量 )的元素逐个执行运算 f .数组函数表下列矩阵函数的意义与线性代数中的定义相同.矩阵函数表七、数据可视化MATLAB具有很强的绘图功能.[例一]绘制正弦曲线和二次曲线的图形.x=-pi:pi/100:pi;y=sin(x);subplot(1,2,1), plot(x,y);%把正弦曲线绘在一行二列的1号子窗口 x1=-1:0.1:1;y1=x1.^2;subplot(1,2,2),plot(x1,y1) %把二次曲线绘在一行二列的2号子窗口注 上面绘图程序还可简化为:y=sin([-pi:pi/100:pi]); y1=[-1:0.1:1].^2;subplot(1,2,1), plot(y);supplot(1,2,2), plot(y1)[例二]绘制下列曲面的图形:2222)sin(yx y x z ++=.clf; %清除当前图形窗口[x,y]= meshgrid(-8:0.5:8); %生成网格点坐标(x,y ) r=sqrt(x.^2+y.^2)+eps; z=sin(r)./r;mesh(x,y,z); colormap([1,0,0]) %绘出曲面网线图(红色)八、关于MATLAB NotebookMathworks 公司开发的MATLAB Notebook 成功地把Microsoft Word 与MATLAB 集成为一个整体,为文字处理、科学计算、工程设计营造了一个完美统一的工作环境.Notebook 是“活”的笔记本.在该笔记本中的计算指令可随时修改、即时解算,并能方便地作出图示.这对于撰写科技报告、论文和编写理工学科的教材讲义都是十分宝贵的. Notebook 文件又称为 M-book ( 它使用了Word 中的 M-book .dot 模板 ).在MATLAB 文件夹中打开子文件夹Notebook ,就会看到M-book .把它发送为桌面快捷方式,以便使用时作快速访问.先启动MATLAB ,然后启动M-book ( 在Word 窗口的菜单栏里会出现“Notebook ”). 在英文状态下输入一组指令;然后用鼠标把它们选中,再按[Ctrl +Enter ]组合键;那组指令变成绿色,并会被执行(计算所得结果显示为蓝色,若出现红色文字,那是出错提示). 这类操作也可以在[Notebook ]下拉菜单中去选择.有关MATLAB 编程,请大家到下一节丰富多彩的例子中去体会、学习.§2 微积分 MATLAB 实验演示一、用可视化程序绘制下列曲线和曲面的图形( 1 ) ]5,5[]5.0,5.0[,3,32-∈-∈+==t t t t y t x 与.clf; syms t; x=t^2; y=3*t+t^3;subplot(1,2,1); ezplot(x,y,[-0.5,0.5]); grid; subplot(1,2,2); ezplot(x,y,[-5,5]); grid( 2 ) 0333=-+y x y x 及其渐近线 01=++y x . clf; syms x y; hold on;ezplot(x^3 + y^3–3*x*y,[-2,2]); ezplot(x+y+1,[-2,2]); grid( 3 ) 曲面 2222y x y x y x z +-= .[ 基本法 ]clf; u= -10:0.5:10; [x,y]=meshgrid(u,u); z=x.*y.*(x.^2-y.^2)./(x.^2+y.^2+eps);mesh(x,y,z); colormap([1,0,1])[ 符号函数法( 并显示等高线 ) ]clf;syms x y; colormap([1,0,0]);ezmeshc(x*y*(x^2-y^2)/(x^2+y^2));二、计算极限、导数和积分( 1 ) 求极限:nn h n x M hx h x L )1(lim ,)ln()ln(lim0-=-+=∞→→和 . syms h n xL=limit('(log(x+h)-log(x))/h',h,0) M=limit('(1-x/n)^n',n,inf)L =1/xM =exp(-x)( 2 ) 22d d ,d d ,d d ,sin xyC a y B x y A ax y ====求. syms a x; y=sin(a*x); A=diff(y,x) B=diff(y,a) C=diff(y,x,2)A = cos(a*x)*aB = cos(a*x)*xC = -sin(a*x)*a^2( 3 ) 计算以下不定积分、定积分、反常积分:x x x x I d )22(1222⎰+-+=, x xx xJ d cos sin cos 2/0⎰π+=, ⎰+∞-=d e 2xK x .syms xf=(x^2+1)/(x^2-2*x+2)^2; g=cos(x)/(sin(x)+cos(x)); h=exp(-x^2); I=int(f)J=int(g,0,pi/2)K=int(h,0,inf)I =1/4*(2*x-6)/(x^2-2*x+2)+3/2*atan(x-1) J =1/4*piK =1/2*pi^(1/2)三、符号求和与 Taylor 展开( 1 ) 求级数∑∞=121n n的和S, 以及前十项的部分和S1. syms kS=symsum('1/k^2',1,inf)S1=symsum('1/k^2',1,10)S =1/6*pi^2S1 =1968329/1270080注 当级数的通项较简单时,上面程序中加单引号的 ' 1 / k^2 ' 可以省略单引号.在其他类似情形下,同样如此.( 2 ) 求级数∑∞=-2)1(n nn n x 的和函数S2.syms kS2=symsum('x^k/k/(k-1)',k,2,inf)S2=simplify(S2)S2 =1/2*x^2*(2/x*(-log(1-x)/x-1)*(x-1)-1/(x-1)*(-2*x+2)) S2 =-log(1-x)*x+log(1-x)+x注 最末的 “ simplify( S2 )”为简化函数,用来简化上面得到的“S2” .( 3 ) 设 x x g xx f sin 4e )(,21)(=+=.给出 f ( x ) 在 x = 1 处的3阶Taylor展开式和g ( x ) 在x = 0 处的Taylor 展开式的前面三个非零项 .syms xf=1/(2+x^4); Tf=taylor(f,4,1) g=exp(sin(x)); Tg=taylor(g,3,0)Tf =7/9-4/9*x-2/27*(x-1)^2+44/81*(x-1)^3 Tg =1+x+1/2*x^2四、Taylor 逼近与Fourier 逼近的直观演示( 1 ) 用Taylor 多项式逼近 y = sin x . 已知正弦函数的Taylor 逼近式为∑=----=≈nk k k k x x P x 1121!)12()1()(sin .下面给出这个逼近过程的直观图形:clf; syms x t;ezplot(t,0,[0,2*pi]); hold on; A=[1.5 3 4 4 5.4]; for n=1:5 P=0;for k=1:1:nP=P+(-1)^(k-1)*x^(2*k-1)/prod(1:(2*k-1)); end;( 2 ) 用 Fourier 多项式逼近矩形波 )(x f .设 )(x f 在一个周期上为⎪⎩⎪⎨⎧ππ-=π<<<<π--=.,0,,00,10,1)(x x x x f对它作Fourier 级数展开,得到∑∞=--π=1)12sin(1214)(k x k k x f .下面在一个周期上,将Fourier 级数的前一项、前两项和前七项分别进行叠加,从图 象上可以清晰地看到这个逼近过程 .clf; syms x tN=[1 2 7]; hold on;ezplot(t,0,[-pi,pi]); ezplot(0,t,[-2.5,2.5]); for n=1:3 F=0;for k=1:1:N(n)F=F+4*sin((2*k-1)*x)/(2*k-1)/pi; end;五、函数项序列一致收敛的直观启示例如,已知三个函数序列:{}{}{}{}{}.),0[,)1(1)(;]1,0[,e)(;]5,0[,e )(222222222∞+∈⎭⎬⎫⎩⎨⎧+-=∈=∈=--x x n x n x h x x n x g x x n x f n x n n x n n通过作出它们的图象,根据一致收敛的几何意义来观察它们的一致收敛性. ( 1 ) 作出 {})(x f n 的一族曲线如下:clf; hold on; x=0:0.02:5; for n=1:8y=n*x.^2.*exp(-n.*x); plot(x,y); end ;由图可见,{})(x f n 中每条曲线的峰值将随着 ∞→n 而趋于0 , 故{})(x f n 能在 [ 0, 5 ] 上一致收敛 于 0 .( 2 ) 作出 {})(x g n 的一族曲线如下 :clf; hold on;x=0:0.01:1; for n=5:-1:1y=n^2*x.*exp(-n^2*x.^2); plot(x,y); end ;由图可见,)(x g n 的峰值将随着 ∞→n 而趋于∞+,故在 x = 0 的任意小右邻域内,{})(x g n 不可能一致收敛;但是对于任意小的正数 a , {})(x g n 在 [ a , 1 ] 上仍有可能一致收敛 于 0 .( 3 ) 作出 {})(x h n 的一族曲线如下:clf; hold on; x=0:0.01:3; for n=1:1:5y=(1-n^2*x.^2)./(1+n^2*x.^2).^2; plot(x,y); end ;由图可见,极限函数在x = 0 处不连续,故 在x = 0 的任意小右邻域内, {})(x h n 不可能一致收敛;但在任何 [)()∞+⊂∞+,0,a 上, {})(x h n 仍有可能一致收敛 于 0 .实 验 作 业1.用可视化程序绘制下列曲线和曲面的图形:(1)]2,2[,1323-∈+--=x x x x y ;(2)222y x z -=.2.已知plot 3是三维曲线图函数.请你先想一想:由指令pi])*[0,8t,cos(t),n(t),ezplot3(si t;syms能绘出怎样的曲线?再把此指令键入MATLAB 指令窗,看看实际绘出的曲线与你所想的结果是否相同?3.著名的莫比乌斯带(如图) 的一个参数描述是:⎪⎩⎪⎨⎧===+=.)2/(sin ,sin ,cos ,)2/cos(t s b z t r y t r x t s b a r其中b a ,为常数,例如取 1,2==b a ;参数]2,0[,]1,1[π∈-∈t s .请你用符号函数绘图法绘制出它的 图形.4.用MATLAB 求极限:xx L xx e-+=→10)1(lim .5.用MATLAB 求下列积分: (1)⎰++2x-x 2x)(1d x (化简结果);(2)⎰+∞2sin x x d .6.用MATLAB 求幂级数∑∞=+---1212114)1(n n n n x 的和函数(化简结果).。
Matlab常微分方程的求解实验报告
《数学实验》报告实验名称Mat lab常微分方程的求解学院计算机与通信工程学院专业班级计1103姓名------------- 学号-----------月6年2013.一、【实验目的】通过练习,熟悉Mat丄ab的求解常微分方程,函数文件的创建等。
了解Mat lab的命令窗口及其基本操作和常用命令。
通过练习,熟悉Mat lab的•些基本操作,掌握符号解法和数值解法,以及其中常用的方法。
二、【实验任务】1 > 求解微分力程y* =xsin (x) /cos (y)<»2、用数值方法求解下列微分方程,用不同颜色和线形将y和y,画在同•个图形窗口里:y f »+ty f-y=l-2t,初始时间:t=0;终止时间:t=n •初始条件:y |=0.1, y1|=0.2o €=oft=oo三、【实验程序】题一:y= dsolve('Dy=x*sin(x)/cos (y) ', 'x1)题二令:a=y, b二y,二a,, b'二y,,贝9 :a' =0*a+l*b+0;b,=l*a-t*b+(l-2*t);[a ;b,] = [0 1;1 —t][a;b] + [0;l](l-2*t);故化为一阶微分方程有:x =[0 1;1 -t]x+[0;l]u;其中:x'二[a' ;b'],u二(l~2*t) o初始条件:当t=0时,a=0. 1; b=0. 2oxd = mainfun( )function %UNTITLED Summary of this function goes here %ailed explanation goes here u=l-2 ・傑匸;xa=[0 1;1 -t][0;1]*u;endelf; tO=O; tf=pi;初始条fT%xOt=[0.1;0.2]; ,[t0r tf]/xOt) 'mainfun*[t,x]=ode23( y=x(:,1);Dy=x (:,2); ) ' 'r t, Dy, plot (t z y, ) 1 1Y 轴,匸轴,),ylabel (xlabel () 一阶导数'Dy''原始函数y \ legend (四、【实验结果】y =asin(C3 + sin(x) - x*cos(x))»funt =0.01450.08730.20140.32590.46210.61210.77780.96211.14821.27671.40531.51881.67061.86012.08912.35692.65462.96873.14160.1000 0.20000.1030 0.21580.1214 0.28830.159S 037980.2116 0.44790.2756 0.48470.3485 0.48130.4245 0.42820.4939 0.31680.5388 0.15990.5513 0.03200.5466 -0.10690.5272 -0.23580.4780 -0.41270.3788 -0.63470.2037 -0.8952-0.0742 ・ 1.1797-0.4677 -1.4646-0.9691 -1.7290-1.2793 -1.8586五、【实验总结】4通过本次实验,熟悉了M&t丄&b的一些基本操作,通过练习,会求解常微分方程,并熟练掌握符号解法和数值解法,以及其中常用的方法,包括欧拉方法、梯形公式、龙格库塔方法等。
第03讲 (2010)MATLAB在微积分运算中的应用
1. 极限
(1) 对极限定义的认识
练习1 用下面的语句观察数列的前100项变化情况 n=1:100; a=n.^(n.^(-1)) 为了更清楚地观察其是否收敛,读者可将项数增大一些
对于该数列,我们再用语句:
plot(n,a,'.') 画出其散点图,借助于图形来观察它的变化趋势。
2
1.45 1.4 1.35 1.3 1.25 1.2 1.15 1.1 1.05 1
10
(1) 求导命令diff 在MATLAB软件中,可用语句
diff(f(x),x)
计算函数的导函数,当然在使用前需先将x 定义成符号变量 。 若要求f(x) 在x=a处的导数,可用subs命令, 只要将x=a赋给上面的导函数便可得到 。 而命令 diff(f(x), x, n) 求的是函数f(x)对x的n阶导函数。
24
例10 计算不定积分 sin 2 x sin 3 x sin 4 xdx
clear syms x; y=sin(2*x)*sin(3*x)*sin(4*x)
y= sin(2*x)*sin(3*x)*sin(4*x) int(y)
ans =
-1/20*cos(5*x)-1/12*cos(3*x)+1/36*cos(9*x)-1/4*cos(x) pretty(ans) - 1/20 cos(5 x) - 1/12 cos(3 x) + 1/36 cos(9 x) - 1/4 cos(x)
运行该程序可判断出: xn与yn有极限,且这两极限值 是相等的。 (x100=1.456791E+000,y100=1.456791E+000。
9
2. 导数与微分 在MATLAB中由命令函数diff()来完成运算, 其具体形式为:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
9.求两类曲线积分与曲面积分
10.多项式函数的代数运算与求零点
11.代数方程的求解、一阶微分方程(组)及高阶微分的求解
12.求函数的最值
四、实验程序、结果与数据处理
1、函数极限
syms x二重极限
y=(x-4)/x >> syms x y
y =(x-4)/x z=x.^2+y.^3
>> limit(y,x,2) z =x^2+y^3
有初始值
>> y=dsolve('D2y=-a^2*y','y(0)=1,Dy(pi/a)=0')
y =cos(a*t)
五.实验心得与实验结论
通过本次实验,熟悉了MATLAB中求函数的极限、导数、微分等运算的命令,掌握了在MATLAB中求函数的不定积分、定积分的命令;掌握了在MATLAB中进行数值微分、数值积分的命令;掌握了在MATLAB中求解非线性代数方程和微分方程的命令;熟悉了MATLAB中对各类函数的求导数、求泰勒展开式的命令;掌握了在MATLAB求函数的定积分的符号运算与数值运算的命令格式;掌握了在MATLAB中求解代数方程和微分方程及微分方程组的命令。只是初次接触该软件,对软件的一些操作还不是很熟悉,有待加强训练。
二、实验设备(环境)及要求
针对所给习题,编写程序。实验过程中,务必分析实验结果,按要求写
出实验报告。(建议同时网上提交电子版实验报告)
三、实验内容与步骤
1.求函数极限、求二重极限
2.求函数的一阶导数与高阶导数、求偏导
3.求隐函数的偏导数
4.求函数在某一点处的泰勒展式
5.对级数求和
6.求不定积分
7.求定积分
>> jaco=det(jaco);u_x=-det(jacobian(H,[u,v]))/jaco
u_x =
(-x^2-y^2)/(x^2+y^2)
4、函数在某一点处的泰勒展式
>> f=sin(x);taylor(f,x,0)
ans =
x-1/6*x^3+1/120*x^5
>> f=cos(x);taylor(f,9,x)
syms x y
int(int(x+y,y,1,x),x,2,5)
ans =93/2
9、求两类曲线积分与曲面积分
syms a t x y z
x=a*cos(t);y=sin(t);z=3*t;
F=[x*y,x-y,x^2];ds=[diff(x,t),diff(y,t),diff(z,t)]';
>> int(F*ds,t,0,pi)
>> syms a s
>> int(a*x,a)
ans =
1/2*a^2*x
>> y=log(x);int(y,x)
ans =
x*log(x)-x
7、求定积分
> syms a x
>> y=exp(a*x);int(y,x,a,2*a)
ans = -(exp(a^2)-exp(2*a^2))/a
8、求重积分
ans =-1 >> limit(limit(z,x,0),y,2)
ans =8
2.函数的一阶导高阶导
>> syms x y >> syms x y
>> y=x^2;diff(y,x) >> y=x^5;diff(y,x,4)
ans =2*x ans =120*x
3、隐函数的偏导数
>> syms x y >> syms x y z
ans =
1-1/2*x^2+1/24*x^4-1/720*x^6+1/40320*x^8
5、级数求和
>> s=x^2;symsum(s,x,1,5)
ans =
55
>> s=x^2;symsum(s,x,1,k)
ans =
1/3*(k+1)^3-1/2*(k+1)^2+1/6*k+1/6
6,、求不定积分
f=x^2+y^2;-diff(f,x)/diff(f,y) f=x*y*z-exp(z);zduix=-diff(f,x)/diff(f,z)
ans = -x/y zduix = -y*z/(x*y-exp(z))
二元隐函数组
>> syms x y u v
>> F=x*u-y*v;G=y*u+x*v-1;H=[F,G];jaco=jacobian(H,[u,v]);
六、教师评语
签名:
日期:
成绩
数学软件实验报告
实验序号:03实验项目名称:MATLAB在微积分中的应用
学 号
123456789
姓 名
XXX
专业、班
XXXXXX
实验地点
Xxxx
指导教师
XXX
时间
2013年10月日
一、实验目的及要求
1、熟悉MATLAB中求函数的极限、导数、微分等运算的命令;
2、掌握在MATLAB中求函数的不定积分、定积分的命令;
ans =-5.9425389001972427447344434486928
一阶微分方程(组)求解
>> y=dsolve('Dy=-a*y')
y =
C1*exp(-a*t)
高阶微分的求解
>> y=dsolve('D2y=-a*y')
y =
C1*sin(a^(1/2)*t)+C2*cos(a^(1/2)*t)
-0.6075
> m=[1 3 4 7];n=[1 1 1];
>> [q r]=deconv(m,n)
q = 1 2
r =0 0 1 5
11、代数方程的求解、一阶微分方程(组)及高阶微分的求解
>> y=dsolve('Dy=-a*y')
y =
C1*exp(-a*t)
代数方程的求解
>> solve('x+cos(x)+5=0','x')
ans =
1/2*a*pi+3/2*a^2*pi
10、多项式函数的代数运算与求零点
p=[1 -2 5 4]
p =
1 -2 5 4
>> y1=polyval(p,4)
y1 =56
>> y22=polyval(p,0)
y22 = 4
求零点
>> r=roots(p)
r =1.3038 + 2.2101i
1.3038 - 2.2101i
3、掌握在MATLAB中进行数值微分、数值积分的命令;
4.掌握在MATLAB中求解非线性代数方程和微分方程的命令;
5、熟悉MATLAB中对各类函数的求导数、求泰勒展开式的命令;
6、掌握在MTLAB中求解代数方程和微分方程及微分方程组的命令。