《Matlab基础与应用》课程设计基于Matlab的相关变化率问题求解

上传人:1888****888 文档编号:37531972 上传时间:2021-11-03 格式:DOC 页数:25 大小:491.74KB
返回 下载 相关 举报
《Matlab基础与应用》课程设计基于Matlab的相关变化率问题求解_第1页
第1页 / 共25页
《Matlab基础与应用》课程设计基于Matlab的相关变化率问题求解_第2页
第2页 / 共25页
《Matlab基础与应用》课程设计基于Matlab的相关变化率问题求解_第3页
第3页 / 共25页
点击查看更多>>
资源描述
武汉理工大学Matlab基础与应用课程设计附件1:学 号: 课 程 设 计题 目学 院专 业班 级姓 名指导教师年月日课程任务设计书学生姓名: 专业班级: 指导教师: 付琴 工作单位: 信息工程学院 题 目: 基于Matlab的相关变化率问题求解 初始条件:1)Matlab软件的基本操作知识2)工程数学基本知识(高等数学、线性代数、微积分等)3)计算机要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)时间安排:序号阶段内容所需时间1选题,熟练Matlab软件操作2天2完成Matlab数学运算、图形绘制,完成相应数学问题求解3天3撰写报告1天4答辩1天合计7天指导教师签名: 2013 年 6 月 4 日系主任(或责任教师)签名: 2013 年 6 月 4 日目 录课程任务设计书2Abstact41绪论42 Matlab 的基本运算52.1 常见基本运算52.1.1极限的计算52.1.2 微分的计算52.1.3 积分的计算62.1.4 级数的计算62.1.5 求解代数方程72.1.6 求解常微分方程72.2 矩阵基本计算82.2.1 矩阵最大值和最小值82.2.3 矩阵的均值82.2.4 矩阵的方差92.2.5 矩阵的转置102.2.6 矩阵的逆102.2.7 矩阵的行列式102.2.8 矩阵特征值的计算112.2.9 矩阵的相乘112.2.10 矩阵的左除和右除122.2.11 矩阵的幂运算132.3 多项式的基本运算132.3.1 多项式加减132.3.2 乘除运算142.3.3 多项式的求导142.3.4 多项式的求根152.3.5 多项式的求值运算152.3.6多项式的部分分式展开16基于Matlab的图形绘制173.2三维曲面图像的绘制194.1 问题描述214.2 求解方案224.3 基于Matlab的程序设计224.4结果分析234.5 总结234.6参考文献23摘要MATLAB 的名称源自 Matrix Laboratory ,它是一种科学计算软件,专门以矩阵的形式处理数据。 MATLAB 将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作。关键词:MATLAB,计算,信号处理,调制,解调,时域,频域AbstactDerived from the name of the MATLAB Matrix that it is a scientific calculation software, process the data in the form of Matrix. MATLAB will high-performance numerical calculation and visualization integration in together, and provides a number of built-in functions, which are widely used in scientific computing, control system, information processing in areas such as analysis, simulation and design work.Keywords: MATLAB, computing, signal processing, modulation, demodulation, time domain and frequency domain1绪论 MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。2 Matlab 的基本运算2.1 常见基本运算2.1.1极限的计算MATLAB中极限函数limit格式如下:limit(F,x,a) ;limit(F,a);limit(F);limit(F,x,a,right);limit(F,x,a,left)其中F表示的是函数式,x表示求极限的变量,a表示的是变量的趋向值,left或right表示是取左极限还是右极限。编程如下: syms x limit(sin(x)/x,x,0)ans =12.1.2 微分的计算MATLAB中微分函数diff格式如下:Y = diff(X);Y = diff(X,n);Y = diff(X,n,dim)其中X表示待微分的变量,n表示n次微分,第三式表示沿着定维dim的n阶微分。编程如下: syms x n;y=x.n;f=diff(x,n)f =02.1.3 积分的计算MATLAB中积分常用函数为int,格式如下:int(f,x,a,b)其中f表示待积分的函数,x表示积分变量,而a,b则分别表示积分起始终止点。编程如下: syms x yint(x(-1/2)+1/2000,x)ans = 2*x(1/2)+1/2000*x2.1.4 级数的计算MATLAB中级数常用函数为symsum,格式如下:r = symsum(s);r = symsum(s,v);r = symsum(s,a,b);r = symsum(s,v,a,b)函数表达的意义是表达式s关于变量v从a到b求和。编程如下: clear syms x; y=cos(x); f=taylor(y,x,8) f =1-1/2*x2+1/24*x4-1/720*x6 symsum(x,x,1,99)ans =49502.1.5 求解代数方程代数方程分为很多种,有简单有复杂,方法也有很多。一般多项式方程的根可为实数,也可为复数,可用MATLAB符号工具箱中的solve( )函数, MATLAB中求解代数方程常用函数solve格式如下:x,=solve(eqn1,eqn2,eqnn,x,)其中eqn表示的是式子,x等表示的是变量。例:解方程x3+5*x2-6*x=0编程如下: syms x f=x3+5*x2-6*x; solve(f)ans = 01-62.1.6 求解常微分方程未知的函数以及它的某些阶的导数连同自变量都由一已知方程联系在一起的方程称为微分方程。如果未知函数是一元函数,称为常微分方程。MATLAB中主要用dsolve求符号解析解。dsolve的基本格式是:s=dsolve(方程1, 方程2,初始条件1,初始条件2 ,自变量)例:求下列微分方程的解析解y=ay+b编程如下: syms x s=dsolve(Dy=a*y+b)s =-b/a+exp(a*t)*C12.2 矩阵基本计算2.2.1 矩阵最大值和最小值MATLAB中max函数可以表示求每一列的最大值,那么经过分析可以知道,先求出每一列的最大值然后求出这些最大值里面的最大值,下面以A矩阵为例。编程如下: B=1,2,3;4,5,6;7,8,9,B = 1 2 3 4 5 6 7 8 9 L,I=min(B(:)L = 1I = 1 m,n=ind2sub(size(B),I)m = 1n =1 2.2.3 矩阵的均值调用函数mean格式:M = mean(A)M = mean(A,dim)编程如下: syms A A=2,5,8;4,8,2;9,4,1,A = 2 5 8 4 8 2 9 4 1 mean(A(:)ans = 4.77782.2.4 矩阵的方差调用函数var格式:V = var(X)V = var(X,1)V = var(X,w)V = var(X,w,dim)编程如下:A = 2 5 8 4 8 2 9 4 1 var(A(:)ans =8.69442.2.5 矩阵的转置矩阵的一个重要的运算是转置,如果A是一个实数矩阵,那么它被转置时,第1行变成第1列,第2行变成第2列,依此类推,一个mn矩阵变为一个nm矩阵。如果矩阵是方阵,那么这个矩阵在主对角线反映出来。编程如下: Aans = 2 4 9 5 8 4 8 2 12.2.6 矩阵的逆实际中求矩阵的逆跟行列式均要求矩阵是方阵,MATLAB中求逆的函数是inv,格式为Y = inv(X)。编程如下: inv(A)ans = -0.0000 -0.0714 0.1429 -0.0370 0.1852 -0.07410.1481 -0.0979 0.01062.2.7 矩阵的行列式调用函数det格式:d = det(X)编程如下: det(A)ans = -3782.2.8 矩阵特征值的计算矩阵的特征值的求解,就是找到方程组的解:其中是一个标量,x是一个长度为n的列向量。标量是A的特征值,x是相对应的特征向量。对于实数矩阵A来说,特征值和特征向量可能是复数。 一个 nn的矩阵有n个特征值,表示为。求矩阵的特征值和特征向量可用eig函数。Eig(A)求包含矩阵A的特征值的向量。V,D =eig(A)产生一个矩阵A的特征值在对角线上的对角矩阵D和矩阵V,它的列是相应的特征向量,满足AV=VD,下面以矩阵A为例来演示。编程如下: eig(A)ans = -7.0611 14.3239 3.73732.2.9 矩阵的相乘假定有两个矩阵A和B,若A为mn矩阵,B为np矩阵,则C=AB为mp矩阵。元素是A的第i行和B的第j列的点积。对于方阵,也定义了积B A,但其结果通常与A B不同。MATLAB中求矩阵的乘积直接用符号*即可,下面以A、B矩阵为例来分别演示A*B与B*A区别。编程如下: A=4,5,2;5,1,6;9,0,8,; B=2,8,6;9,4,4;5,3,7,; C=A*BC = 63 58 58 49 62 76 58 96 1102.2.10 矩阵的左除和右除在MATLAB中,有两个矩阵除法的符号,左除“ ”和右除“/”。如果A是一个非奇异方阵,那么A B和B / A对应A的逆与B的左乘和右乘,即分别等价于命令 inv(A)*B和B*inv(A)。可是,MATLAB执行它们时是不同的,且在MATLAB中求解一个系统用左除比用逆和乘法所需的运算次数要少。令d=B/A, c=AB 。编程如下:矩阵的右除: A=4,5,2;5,1,6;9,0,8,; B=2,8,6;9,4,4;5,3,7,; ABans = -2.4286 -0.1429 1.0000 1.0000 1.5000 0.5000 3.3571 0.5357 -0.2500 AB矩阵的左除: A=4,5,2;5,1,6;9,0,8,; B=2,8,6;9,4,4;5,3,7,; A/Bans = 0.5074 0.6074 -0.4963 -0.2926 0.0074 1.1037 -0.7407 0.2593 1.62962.2.11 矩阵的幂运算对于二维方阵,A的p次乘方可以用Ap实现。如果p是一个正整数,那么这个幂可以由许多矩阵乘法运算定义。对于 p= 0,得到与A维数相同的同一个矩阵;当 p A=4,5,2;5,1,6;9,0,8,; B=5; ABans = 150853 60995 123618 182765 73666 149864 251856 101475 2064142.3 多项式的基本运算2.3.1 多项式加减编程如下: p=1 4 8 4 0 2 9; q=5 6 5 4 4 2 4; m=p+qm = 6 10 13 8 4 4 13 n=p-qn = -4 -2 3 0 -4 0 52.3.2 乘除运算编程如下: A=1 5 6 7 3; B=2 7 8 9 6; C=conv(A,B)C = 2 17 55 105 154 161 123 69 18 s,r=deconv(A,B)s = 0.5000r = 0 1.5000 2.0000 2.5000 02.3.3 多项式的求导调用函数polyder格式:k = polyder(p)k = polyder(a,b)q,d = polyder(b,a)例:求q(x)=40x2+7x+1的导数编程如下:q=40 7 1q = 40 7 1 Q=ploy2sym(q)ans =40*x2+7*x+1ployder(q)p = 80 7 2.3.4 多项式的求根调用函数roots格式:r = roots(c)求多项式p(x)=x4+4x3-12的根。 p=1,4,0,0,-12; x=roots(p)x = -4.1660 1.3121 -0.5731 + 1.3663i -0.5731 - 1.3663i2.3.5 多项式的求值运算调用函数polyval格式:y = polyval(p,x)y = polyval(p,x,mu)y,delta = polyval(p,x,S)y,delta = polyval(p,x,S,mu)例: clear p=2 -1 0 3p = 2 -1 0 3 y=ployval(p,3) y= 482.3.6多项式的部分分式展开函数residue可以将多项式之比用部分分式展开,也可以将一个部分分式表示为多项式之比。其调用格式如下:r,p,k=residue(a,b) 返回多项式之比a/b的部分分式展开,参照下面公式。a,b=residue(r,p,k) 返回部分分式的多项式向量。例:将F(z)=(10*z)/(z2-3*z+2)部分展开 num=0 10; den=1 -3 2; r,p,k=residuez(num,den)r = 10 -10p = 2 1k = 基于Matlab的图形绘制3.1二维图形的绘制二维图形是将平面坐标上的数据点连接起来的平面图形。可以采用不同的坐标系,出直角坐标系外,还可以采用对数坐标系、极坐标。数据点可以用向量或矩阵形式给出,类型可以是实型或复型。二维图形输出,利用MATLAB的二维绘图函数可以很容易作出需要的各种图形。plot函用于绘制直角坐标的二维曲线。使用方plot(x,y,linespeci),plot(x,y)先描出点(x(i),y(i),然后用直线依次相连,其中参数linespeci指明了线条的类型,标记符号和画线用的颜色。lot是绘制二维曲线的基本命令,但在使用此函数之前,我们需先定义曲线上每一点的x及y坐标若要在同一个画面上画出多条曲线,只需将坐标对依次放入plot函数即可。以下各例题中的程序都是在MATLAB编辑器中函数图象的绘制:先是简单的一次函数图像的绘制;简单的一次函数在数学图像绘制中是比较简单的,在MATLAB语言中用plot函数就能实现。 例如:在0x2区间内,绘制曲线y=2e-0.5xcos(4x)程序如下:x=0:pi/100:2*pi;y=2*exp(-0.5*x).*cos(4*pi*x);plot(x,y,r*)图像如下:例如:用不同标度在同一坐标内绘制曲线y1=0.2e-0.5xcos(4x) 和y2=2e-0.5xcos(x)。程序如下:x=0:pi/100:2*pi;y1=0.2*exp(-0.5*x).*cos(4*pi*x);y2=2*exp(-0.5*x).*cos(pi*x);plotyy(x,y1,x,y2);图形保持:hold on/off命令控制是保持原有图形还是刷新原有图形,不带参数的hold命令在两种状态之间进行切换。例如:采用图形保持,在同一坐标内绘制曲线y1=0.2e-0.5xcos(4x) 和y2=2e-0.5xcos(x)。程序如下: x=0:pi/10:2*pi; y1=0.2*exp(-0.5*x).*cos(4*pi*x); plot(x,y1) hold on y2=2*exp(-0.5*x).*cos(pi*x); plot(x,y2);hold off图形如下:设置曲线样式确定所绘曲线的线型、颜色和数据点标记符号,它们可以组合使用。例如,“b-.”表示蓝色点划线,“y:d”表示黄色虚线并用菱形符标记数据点。当选项省略时,默认线型一律用实线,颜色将根据曲线的先后顺序依次。例如:在同一坐标内,分别用不同线型和颜色绘制曲线y1=0.2e-0.5xcos(4x) 和y2=2e-0.5xcos(x),标记两曲线交叉点。程序如下:x=linspace(0,2*pi,1000);y1=0.2*exp(-0.5*x).*cos(4*pi*x);y2=2*exp(-0.5*x).*cos(pi*x);k=find(abs(y1-y2)x,y=meshgrid(-8:0.5:8); z=sin(sqrt(x.2+y.2)./sqrt(x.2+y.2+eps); subplot(2,2,1); mesh(x,y,z); title(mesh(x,y,z) subplot(2,2,2); meshc(x,y,z); title(meshc(x,y,z) subplot(2,2,3); meshz(x,y,z) title(meshz(x,y,z) subplot(2,2,4); surf(x,y,z); title(surf(x,y,z)例绘制三维图形:(1) 绘制魔方阵的三维条形图。(2) 以三维杆图形式绘制曲线y=2sin(x)。(3) 已知x=2347,1827,2043,3025,绘制饼图。(4) 用随机的顶点坐标值画出五个黄色三角形。 subplot(2,2,1) bar3(magic(4) subplot(2,2,2); y=2*sin(0:pi/10:2*pi); stem3(y); subplot(2,2,3); pie3(2347,1827,2043,3025); subplot(2,2,4); fill3(rand(3,5),rand(3,5),rand(3,5),y)4.1 问题描述问题一:一气球从离开观察员500米处离地面铅直上升,其速率为140米/秒。观察员视线的仰角增加率是多少?问题二:一架巡逻直升机在距地面3km的高度以120km/h的常速沿着一条水平笔直的高速公路向前飞行,飞行员观察到迎面驶来一辆汽车,通过雷达测出直升机与汽车间的距离为5km,并且此距离以160km/h的速率减少。试求出汽车行进的速度4.2 求解方案问题一:解:设气球上升t秒后,其高度为h,观察员视线的仰角为a,则tana=h/500,上式两边对t求导得sec2(a)*da/dt=(1/500)*dh/dt,因为dh/dt=140米/秒,当h=500米时,sec2(a)=2,所以da/dt=0.14(弧度每秒)问题二:把飞机此刻的位置记为A,汽车位置记为B,飞机在地面的投影记为C,则RtACB中,ACB=90,AB=5km,AC=3km,则BC=4km;设汽车速度为xkm/h,该速度在AB方向上的分量为4/5x km/h飞机速度在AB方向上的分量为4/5*120=96km/h4/5x+96=160= x=80汽车行进速度为80km/h4.3 基于Matlab的程序设计 syms x f=4/5*x+4/5*120-160; solve(f)ans = 80 4.4结果分析通过分析两个物体之间的关系,找到联系,再用matlab程序编写 4.5 总结1.首先是对matlab的操作不熟悉,不能很好地将以前所学到的知识运用到matlab的运用中;2.其次是对matlab的各种运算符和格式的不了解,所以对阅读和编写matlab程序有困难;3.再者是将知识运用到matlab的能力不足,缺少练习;4.最后就是matlab以外的知识的问题,对预备知识的生疏必然导致不能解决问题。对应的,首先应该熟悉matlab的操作,暂时不用编写很复杂的程序,先编写较为简单的程序来熟悉各种操作;其次,加强记忆,多做练习,以练习来促进记忆,掌握重要的运算符和格式;对于,第三个问题,可以请教别人和多做练习来加强该能力的培养;而最后一个问题则需要大家在平时注意学习好相关知识了。4.6参考文献(1)精通MATLAB R2011a(附光盘1张) 张志涌、 等 北京航空航天大学出版社(2)MATLAB实用教程(第2版) 穆尔(Holly Moore)、高会生、刘童娜、 李聪聪 电子工业出版社(3)MATLAB在数学建模中的应用 卓金武 北京航空航天大学出版社(4)MATLAB 7.0从入门到精通(修订版) 刘保柱、苏彦华、 张宏林 人民邮电出版社(5)MATLAB智能算法30个案例分析 史峰、王辉、胡斐、 郁磊 北京航空航天大学出版社(6)MATLAB教程(附光盘1张) 张志涌、杨祖樱、 等 北京航空航天大学出版社本科生课程设计成绩评定表姓 名性别 别专业、班级课程设计题目:课程设计答辩或质疑记录:成绩评定依据:最终评定成绩(以优、良、中、及格、不及格评定) 指导教师签字: 年 月 日
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸下载 > CAD图纸下载


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!