版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计任务书学生姓名: 专业班级: 通信0903班 指导教师: 江雪梅 工作单位: 信息工程学院 题 目: MATLAB的基本运算与绘图 初始条件:1. Matlab实验软件2. 实验程序要求完成的主要任务: 1. 采用MATLAB选用适当的函数或矩阵进行如下计算(1) 极限的计算、微分的计算、积分的计算、级数的计算、求解代数方程、求解常微分方程;(2) 矩阵的最大值、最小值、均值、方差、转置、逆、行列式、特征值的计算、矩阵的相乘、右除、左除、幂运算;(3) 多项式加减乘除运算、多项式求导、求根和求值运算、多项式的部分分式展开、多项式的拟合、插值运算。2. MATLAB的绘图(1) 绘制四个
2、不同的一维函数y=f(x)。把四个函数用不同曲线、不同标识符显示在同一幅图中;用同一种曲线、同一种标识符把四个函数显示在同一界面的不同窗口;要求显示网格、有图形标题、有坐标轴标志、有图形标注函数。(2) 选择合适的二维函数z= f(x,y)分别绘制其空间曲线图、三维网线图和三维曲面图(3) 选择一幅图像,画出图像的频谱图。(4) 对图像加入噪声,再画出图像的频谱图。时间安排:1.第15周排任务,分组2.1617周设计仿真,撰写报告3.第18周完成设计,提交报告,答辩指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日 摘要MATLAB既是一种直观、高效的计算机语言,同时又是一个科学
3、计算平台。它为数据分析和数据可视化、算法和应用程序开发提供了最核心的数学和高级图形工具。根据它提供的500多个数学和工程函数,工程技术人员和科学工作者可以在它的集成环境中交互或编程以完成各自的计算。作为一个功能强大的工具软件,MATLAB具有很强的图形处理功能,提供了大量的二维、三维图形函数。由于系统采用面向对象的技术和丰富的矩阵运算,所以在图形处理方面即常方便又高效。本文基于MATLAB的基本运算和绘图,利用各种具体实例对相应的函数的功能进行验证,并对其调用方法进行说明演示,加深对MATLAB语言的熟悉程度,为今后使用MATLAB软件奠定基础。关键词:MATLAB,绘图AbstractMAT
4、LAB is both an intuitive and efficient computer language, but it is also a scientific computing platforms. It for data analysis and data visualization, algorithm and application development provides the most core of math and advanced graphical tool. According to provide it with the more than 500 mat
5、h and engineering function, engineering and technical personnel and scientific workers may in its integration environment interactive or programming to complete their calculations. As a powerful tool software Matlab strong graphics functions, provided a lot of 2d and 3d graphics functions. Due to th
6、e system USES object-oriented technology and rich matrix, so in graphics processing aspect is often convenient and efficiently.Based on the basic operations and MATLAB graphics, using a variety of specific examples of the functions of the corresponding functions for authentication, and invoke the me
7、thod described demonstration, deepen familiarity with MATLAB language, to lay the foundation for the future use of MATLAB softwareKey word:MATLAB Drawing 目录摘要IIIAbstractIV1. MATLAB基本介绍12.MATLAB的基本运算12.1微积分计算12.1.1计算极限12.1.2 微分的计算22.1.3 积分的计算32.1.4 级数的计算32.1.5 求解代数方程42.1.6 求解常微分方程42.2 矩阵的基本计算52.2.1 矩
8、阵的最大值、最小值62.2.2 矩阵的均值、方差72.2.3 矩阵的转置82.2.4 矩阵的逆、行列式92.2.5 矩阵特征值的计算102.2.6 矩阵的相乘112.2.7 矩阵右除和左除112.2.8 矩阵的幂运算122.3 多项式的基本运算132.3.1 多项式的四则运算142.3.2 多项式的求导、求根、求值152.3.3 多项式的部分分式展开162.3.4 多项式的拟合172.3.5 多项式插值运算183.二维绘图203.1二维绘图基础指令203.1.1 plot函数203.1.3图形的标注203.1.4图形对比函数213.2绘制四条不同曲线212.2.1文件代码213.2.2生成结果
9、223.3同界面不同窗口曲线223.3.1文件代码233.3.2生成结果234.三维绘图244.1基本函数介绍244.1.1 meshgrid函数244.1.2 plot函数244.1.3 mesh与surf函数254.2 空间曲线图254.2.2生成结果254.3三维网线图264.3.1三维网线图文件代码264.3.2 生成结果274.4三维曲面图274.4.1文件代码274.4.2生成结果285. 图像的频谱图285.1 基本函数介绍285.2图像频谱图295.2.1 程序代码295.2.2生成结果295.3加噪图像频谱分析305.3.1 模拟噪声函数305.3.2程序代码305.2.3生
10、成结果316. 总结317.参考文献32 1. MATLAB基本介绍MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FOR
11、TRAN,C+ ,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。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)其
12、中F表示的是函数式,x表示求极限的变量,a表示的是变量取的值,left或right表示是取左极限还是右极限。例:求 分析:这是一个典型的求极限的题目,题目中涉及了两个变量,故在程序开始应该先定义两个变量,然后直接利用函数limit编程计算。示例程序如下: syms x y; y=limit(sin(x)/x,x,0)运行结果如下: 2.1.2 微分的计算MATLAB中微分函数diff格式如下:Y = diff(X);Y = diff(X,n);其中X表示待微分的变量,n表示n次微分,n=1时n可以省略例:求的微分;分析:微分运算能直观的显示函数值的变化快慢,在平时计算中常常反映变量的变化对函数
13、值的影响大小这是一个简单的一阶微分式子,可以直接写定义变量然后求结果。示例程序如下:syms x y dy;y= sin(3x);dy=diff(y)运行结果如下:2.1.3 积分的计算MATLAB中积分常用函数为int,格式如下:int(f,x,a,b)其中f表示待积分的函数,x表示积分变量,而a,b则分别表示积分起始终止点。例:求下列变上限积分分析:积分运算大量运用于求面积体积等,此处选用的是一个变上限积分,属于有些典型的积分例子,但任然是根据函数格式就可以写出程序。示例程序如下:syms y x;y=x2-2;f=int(y,x,2,5)运行结果如下:2.1.4 级数的计算MATLAB中
14、级数常用函数为symsum,格式如下:r = symsum(s);r = symsum(s,v);r = symsum(s,a,b);r = symsum(s,v,a,b)函数表达的意义是表达式s关于变量v从a到b求和。例: 计算级数 的值,示例程序如下:syms n;t=symsum(1/n,1,6)运行结果如下: 2.1.5 求解代数方程多项式方程的根的求解可调用MATLAB符号工具箱中的solve( )函数, MATLAB中求解代数方程常用函数solve格式如下:x,=solve(eqn1,eqn2,eqnn,x,)其中eqn表示的是式子,x等表示的是变量。例:求解方程2x+8=11示例
15、程序如下:syms x;x=solve(2*x+8=11,x)运行结果如下:2.1.6 求解常微分方程未知的函数以及它的某些阶的导数连同自变量都由一已知方程联系在一起的方程称为微分方程。MATLAB中主要用dsolve求符号解析解。dsolve的基本格式是:s=dsolve(方程1, 方程2,初始条件1,初始条件2 ,自变量)例:求解微分方程 求解析解。示例程序如下:syms y ts=dsolve(dy=-2*y+t+1,y(0)=2,t);simplify(s)运行结果如下:2.2 矩阵的基本计算矩阵计算是线性代数中的核心内容,其对于整个数学系统的计算方面的意义是十分巨大的,集中它的基本运
16、算包括最大值、最小值、均值、方差、转置、逆、行列式、特征值的计算、矩阵的相乘、右除、左除、幂运算等等,下面将具体介绍。矩阵的运算都是要以矩阵为基础的,本报告中决定选用一组矩阵来完成几乎全部可以完成的计算,那么首先就得生成矩阵了。矩阵的定义和分配可以 有多种方法。最简单的方法是有方括号包围的逐行给定元素。若定义一个标量,则方括号就不需要了。相同行中的元素是由一行或多个空格或一个逗号, 分隔,列由分号; 或回车键分隔。没有结尾分号的每个命令在屏幕上显示出其结果。若结尾带分号,就执行计算,但计算结果并不显示。如定义33矩阵如下: 则在命令窗口输入: A=2,1,4;6,3,7;8,5,9屏幕显示结果
17、为:2.2.1 矩阵的最大值、最小值MATLAB中max函数可以表示求每一列的最大值,那么经过分析可以知道,先求出每一列的最大值然后求出这些最大值里面的最大值,下面以A矩阵为例。示例程序如下:y=max(A)x=max(y)运行结果如下:对比A中数值发现结果是正确的。MATLAB中求最小值的函数为min,求解思路与求最大值思路类似,仍然以矩阵A为例。示例程序如下:y=min(A)x=min(y)运行结果如下:对比A中数值发现结果是正确的。2.2.2 矩阵的均值、方差MATLAB中求解矩阵均值的函数是mean,它的具体用法如下:mean(A,1)表示对列取平均,mean(A,2)表示对行取平均,
18、mean(A)则默认为mean(A,1)。下面以矩阵A分别举例,程序示例如下:a=mean(A)b=mean(A,2)运行结果如下:观察可知,a,b分别显示出了矩阵行列的均值。如果想求矩阵的均值可以进行2次操作。示例程序如下:c=mean(a)运行结果如下:可以观察到c的值就是矩阵A所有值的均值。MATLAB中求解矩阵方差的函数是var,它的常用格式是V = var(X),如果X是一个矩阵,var(X)返回一个包含矩阵X每一列方差的行向量。下面还是以矩阵A来示例,程序如下:d=var(var(A)运行结果如下:2.2.3 矩阵的转置矩阵的一个重要的运算是转置,如果A是一个实数矩阵,那么它被转置
19、时,第1行变成第1列,第2行变成第2列,依此类推,一个mn矩阵变为一个nm矩阵。如果矩阵是方阵,那么这个矩阵在主对角线反映出来。MATLAB中求转置的函数是“”,以A为例,编程如下:e=A运行结果如下:转置矩阵e 2.2.4 矩阵的逆、行列式 实际中求矩阵的逆跟行列式均要求矩阵是方阵,MATLAB中求逆的函数是inv,格式为Y = inv(X), 求矩阵的函数是det,格式为Y = det(X)。下面仍以矩阵A 为例来编程示例,如下:f=inv(A)运行结果如下:编程如下:c=det(A)运行结果:2.2.5 矩阵特征值的计算矩阵的特征值的求解,就是找到方程组的解:其中是一个标量,x是一个长度
20、为n的列向量。标量是A的特征值,x是相对应的特征向量。对于实数矩阵A来说,特征值和特征向量可能是复数。一个 nn的矩阵有n个特征值,表示为。求矩阵的特征值和特征向量可用eig函数。Eig(A)求包含矩阵A的特征值的向量。V,D =eig(A)产生一个矩阵A的特征值在对角线上的对角矩阵D和矩阵V,它的列是相应的特征向量,满足AV=VD,下面以矩阵A为例来演示。编程如下: V,D =eig(A)运行结果如下2.2.6 矩阵的相乘 假定有两个矩阵A和B,若A为mn矩阵,B为np矩阵,则C=AB为mp矩阵。元素是A的第i行和B的第j列的点积。对于方阵,也定义了积B A,但其结果通常与A B不同。MAT
21、LAB中求矩阵的乘积直接用符号*即可,下面以A、B矩阵为例来分别演示AB与BA区别。示例程序如下: A=2,1,4;6,3,7;8,5,9;B=1,2,3;4,5,6;7,8,9; c=A*B;d=B*A运行结果如下:对比可以知道,AB与BA的结果是有区别的。2.2.7 矩阵右除和左除在MATLAB中,有两个矩阵除法的符号,左除“ ”和右除“/”。如果A是一个非奇异方阵,那么A B和B / A对应A的逆与B的左乘和右乘,即分别等价于命令 inv(A)*B和B*inv(A)。可是,MATLAB执行它们时是不同的,且在MATLAB中求解一个系统用左除比用逆和乘法所需的运算次数要少。令R=B/A,
22、L=AB , 下面仍然以A、B为例来演示。示例程序如下:R=B/AL=AB 运行结果如下:2.2.8 矩阵的幂运算 对于二维方阵,A的p次乘方可以用Ap实现。如果p是一个正整数,那么这个幂可以由许多矩阵乘法运算定义。对于 p= 0,得到与A维数相同的同一个矩阵;当 pM ylabel(string) 标记纵坐标 IAc*_, title(string) 给图形添加标题 :.fvy text(x,y,string) 在图形的任意位置增加说明性文本信息 s9d+H9Q gtext(string) 利用鼠标添加说明性文本信息 aaAF q axis(xmin xmax ymin ymax) 设置坐标
23、轴的最小最大值 imh-5 % 2:AyE5yp 3.1.4图形对比函数在一般默认的情况下,MATLAB 每次使用plot 函数进行图形绘制,将重新产生一个图 W+ejd形窗口。但有时希望后续的图形能够和前面所绘制的图形进行比较。一般来说有两种方法: _s6gPdC,e?8ug !6 一是采用hold on(/off)命令,将新产生的图形曲线叠加到已有的图形上;二是采用 pwt m2Usubplot(m,n,k)函数,将图形窗口分隔成n m 个子图,并选择第k 个子图作为当前图形 QQm:Ab ,然 T5jwk UG后在同一个视图窗口中画出多个小图形3.2绘制四条不同曲线绘制四个不同的一维函数
24、y=f(x)。把四个函数用不同曲线、不同标识符显示在同一幅图中;2.2.1文件代码x=-5:0.5:5;axis(-5,5,-1,3);y1=45*x;y2=x.2;y3=2*x.3;y4=4*x.4+2*x;plot(x,y1,r.:,x,y2,bx-,x,y3,k-,x,y4,go-);grid on;title(同一幅图显示四曲线);xlabel(x);ylabel(y);legend(y1,y2,y3,y4)3.2.2生成结果3.3同界面不同窗口曲线要求:用同一种曲线、同一种标识符把四个函数显示在同一界面的不同窗口;3.3.1文件代码close all;x=-5:0.5:5;subpl
25、ot(2,2,1);%区域分割函数plot(x,45*x);xlabel(x);ylabel(y);h = legend(45*x,1);set(h,Interpreter,none)grid on;subplot(2,2,2);plot(x,x.2);xlabel(x);ylabel(y); h = legend(x.2,1);set(h,Interpreter,none)grid on;subplot(2,2,3);plot(x,2*x.3);xlabel(x);ylabel(y);h = legend(2*x.3,1);set(h,Interpreter,none)grid on;sub
26、plot(2,2,4);plot(x,4*x.4+2*x);xlabel(x);ylabel(y);h = legend(4*x.4+2*x,1);set(h,Interpreter,none)grid on;3.3.2生成结果4.三维绘图4.1基本函数介绍4.1.1 meshgrid函数函数功能:用数据X和Y生成三维图形使用方法:X,Y = meshgrid(x,y):把由x和y向量所指定的域变换为矩阵X和Y,得到的矩阵可用来计算两个变量的函数和绘制三维网格/面图。输出数组X中的行向量相当于向量x, 输出数组Y中的列向量相当于向量y。 X,Y,Z = meshgrid(x,y,z):用三个变
27、量x,y,z生成三维图形。4.1.2 plot函数功能介绍:绘制三维线条图使用方法:plot3函数用来显示一组数据点的三维图形。plot3(X1,Y1,Z1,.):利用X1、Y1、Z1中点的坐标在三维空间中绘制一条或多条线条,其中X1、Y1、Z1为向量或矩阵。4.1.3 mesh与surf函数mesh函数用于绘制三维网线图,它与surf函数用法差不多。surf函数是绘制着色表面图。用法如下:surf(x,y,Z): x,y向量的长度分别等于矩阵Z的列数和行数。surf(X,Y,Z): X,Y利用分格函数X,Y=meshgrid(x,y)。4.2 空间曲线图x = 0:0.1:10*pi;y=e
28、xp(-0.1*x).*cos(x);z=exp(-0.1*x).*sin(x);plot3(x,y,z);title(空间三维曲线图);xlabel(x);ylabel(y=exp(-0.1x)*cosx);zlabel(z=exp(-0.1x)*sinx);grid on;4.2.2生成结果4.3三维网线图4.3.1三维网线图文件代码绘图函数:z = x.* exp(sin(x)+cos(y)绘图代码:x,y = meshgrid(-4:0.2:4,-4:0.2:4);z = exp(-0.2*(x.2+y.1);mesh(x,y,z);title(三维网线图);xlabel(x);ylabel(y);zlabel(z);grid on;4.3.2 生成结果4.4三维曲面图 (8Gw U%4.4.1文件代码x,y = meshgrid(-4:0.2:4,-4:0.2:4);z = exp(-0.2*(x.2+y.1);surf(x,y,z);shading interp;%去掉网线title(三维网线图);xlabel(x);ylabel(y);zlabel(z);grid on;4.4.2生成结果5.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度跨界合作与联合营销合同2篇
- 2024年度企业间货物买卖合同(含质保期)3篇
- 2024年度租赁合同协议范本3篇
- 二零二四年度工程装潢与居间合同2篇
- 2024年二手房交易双方互不支付佣金合同2篇
- 2024年度工厂租赁合同协议2篇
- 高级项目管理顾问2024年度服务协议3篇
- 化工热力学:第6章 热力学第一定律及其工程应用
- 2024年度临时安保劳务合同2篇
- 谈话课件教学课件
- 2024秋期国家开放大学专科《宪法学》一平台在线形考(形考作业1至4)试题及答案
- 乒乓球女单世界第一首位零零后孙颖莎介绍课件
- 创新实践(理论)学习通超星期末考试答案章节答案2024年
- 2024实施就业优先战略促进高质量充分就业的意见(就业是最基本的民生)
- 英语我的家乡甘肃酒泉课件
- 部编版2024-2025学年六年级上册语文第19课《只有一个地球》同步练习(附答案解析)
- 青岛版科学三年级上册全册课件教材
- 语文园地四 教学设计2024~2025学年一年级语文上册统编版
- 2024汽车行业社媒营销趋势-微播易CAA中国广告协会-2024.08-98正式版
- 出境劳务派遣合同模板
- 湖北省2024年中考英语模拟试卷(含答案)
评论
0/150
提交评论