




免费预览已结束,剩余23页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉理工大学matlab课程设计说明书课程设计任务书学生姓名: 专业班级: 通信0904班 指导教师: 工作单位: 信息工程学院 题 目: matlab的基本运算 初始条件:1. matlab实验软件2. 实验程序要求完成的主要任务: 采用matlab选用适当的函数或矩阵进行如下计算(1) 极限的计算、微分的计算、积分的计算、级数的计算、求解代数方程、求解常微分方程;(2) 矩阵的最大值、最小值、均值、方差、转置、逆、行列式、特征值的计算、矩阵的相乘、右除、左除、幂运算;(3) 多项式加减乘除运算、多项式求导、求根和求值运算、多项式的部分分式展开、多项式的拟合、插值运算。时间安排:1.第5周排任务,分组2.67周设计仿真,撰写报告3.第8周完成设计,提交报告,答辩指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日课程设计目录摘要11.前言21.1matlab的历史以及应用 32.程序和运行结果52.1基础微分计算62.11极限的计算82.12微分的计算92.13级数的计算 92.14求解代数方程 102.15求解常微分方差 112.2矩阵的基本运算2.21矩阵的最值122.22均值、方差132.23转置142.24逆矩阵152.25特征值162.26相乘172.27矩阵的右乘、左乘182.28矩阵的幂运算192.3多项式的基本运算202.31四则运算212.32求导、求值、求根232.33展开242.34多项式拟合252.35多项式插值运算263.心得体会274.参考文献283摘要matlab是一款功能强大而又齐全的软件,受到各界人士的重视。不仅在仿真方面做的出色,在数值计算和科学的计算方面也有着重要的地位。对于它的学习不仅可以深入了解到它的重要地位更要的的是可以作为我们学习的辅助工具。本报告主要撰写了matlab的基本知识和一些运用常识,包括了对函数的微分、倒数、定积分、不定积分的计算,矩阵和多项式的相关计算。这些简单的运用可以为我们以后对它的更深层次的了解打下基础,更进步的还有对图形的简单处理,帮助我们了解到高斯、椒盐噪声,中值、维纳、高通、低通滤波的理论知识。通过对本软件的基本了解,可以让我们对本软件有个大体的印象,认识到它的重要作用,在以后的学习中药重视它的学习,它是联系实际与理论的直接纽带。241.前言matlab的由来及历史matlab 是美国mathworks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括matlab和simulink两大部分。matlab是矩阵实验室(matrix laboratory)的简称,和mathematica、maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。matlab可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。matlab的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用matlab来解算问题要比用c,fortran等语言完相同的事情简捷得多,并且mathwork也吸收了像maple等软件的优点,使matlab成为一个强大的数学软件。在新的版本中也加入了对c,fortran,c+ ,java的支持。可以直接调用,用户也可以将自己编写的实用程序导入到matlab函数库中方便自己以后调用,此外许多的matlab爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。20世纪70年代,美国新墨西哥大学计算机科学系主任cleve moler为了减轻学生编程的负担,用fortran编写了最早的matlab。1984年由little、moler、steve bangert合作成立了的mathworks公司正式把matlab推向市场。到20世纪90年代,matlab已成为国际控制界的标准计算软件。2.程序及实验结果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表示是取左极限还是右极限。例:求 y=分析:这是一个典型的求极限的题目,题目中涉及了两个变量,故在程序开始应该先定义两个变量,然后直接利用函数limit编程计算。示例程序如下:syms x yy= limit(ex,x,2)运行结果如下:y=e22.1.2 微分的计算matlab中微分函数diff格式如下:y = diff(x);y = diff(x,n);y = diff(x,n,dim)其中x表示待微分的变量,n表示n次微分,第三式表示沿着定维dim的n阶微分。例:求sin(x)*cos(x)的微分;分析:微分运算能直观的显示函数值的变化快慢,在平时计算中常常反映变量的变化对函数值的影响大小这是一个简单的一阶微分式子,可以直接写定义变量然后求结果。示例程序如下:syms x y dyy= sin(x)*cos(x)dy=diff(y)运行结果如下:2.1.3 积分的计算matlab中积分常用函数为int,格式如下:int(f,x,a,b)其中f表示待积分的函数,x表示积分变量,而a,b则分别表示积分起始终止点。例:求下列变上限积分分析:积分运算大量运用于求面积体积等,此处选用的是一个变上限积分,属于有些典型的积分例子,但任然是根据函数格式就可以写出程序。示例程序如下:syms k x;y=k2;f=int(y,k,x,x2)运行结果如下:2.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求和。例: 计算级数 的值,示例程序如下:syms k;t=symsum(1/k,1,5)运行结果如下: 2.1.5 求解代数方程代数方程分为很多种,有简单有复杂,方法也有很多。一般多项式方程的根可为实数,也可为复数,可用matlab符号工具箱中的solve( )函数, matlab中求解代数方程常用函数solve格式如下:x,=solve(eqn1,eqn2,eqnn,x,)其中eqn表示的是式子,x等表示的是变量。例:求解方程5x+7=10示例程序如下:syms xx=solve(5*x+7=10,x)运行结果如下:2.1.6 求解常微分方程未知的函数以及它的某些阶的导数连同自变量都由一已知方程联系在一起的方程称为微分方程。如果未知函数是一元函数,称为常微分方程。matlab中主要用dsolve求符号解析解。dsolve的基本格式是:s=dsolve(方程1, 方程2,初始条件1,初始条件2 ,自变量)例:求解微分方程 求解析解。示例程序如下:syms y ts=dsolve(dy=-y+t+1,y(0)=1,t);simplify(s)运行结果如下:2.2 矩阵的基本计算矩阵计算是线性代数中的核心内容,其对于整个数学系统的计算方面的意义是十分巨大的,集中它的基本运算包括最大值、最小值、均值、方差、转置、逆、行列式、特征值的计算、矩阵的相乘、右除、左除、幂运算等等,下面将具体介绍。矩阵的运算都是要以矩阵为基础的,本报告中决定选用一组矩阵来完成几乎全部可以完成的计算,那么首先就得生成矩阵了。矩阵的定义和分配可以 有多种方法。最简单的方法是有方括号包围的逐行给定元素。若定义一个标量,则方括号就不需要了。相同行中的元素是由一行或多个空格或一个逗号, 分隔,列由分号; 或回车键分隔。没有结尾分号的每个命令在屏幕上显示出其结果。若结尾带分号,就执行计算,但计算结果并不显示。如定义33矩阵如下: 则在命令窗口输入:a=1 2 3;4 5 6;7 8 9屏幕显示结果为:a=1 2 34 5 67 8 9 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)表示对行取平均,mean(a)则默认为mean(a,1)。下面以矩阵b分别举例,程序示例如下:a=mean(a)b=mean(a,2)运行结果如下:观察可知,a,b分别显示出了矩阵行列的均值。如果想求矩阵的均值可以进行2次操作。示例程序如下:c=mean(a)运行结果如下:可以观察到c的值就是矩阵b所有值的均值。matlab中求解矩阵方差的函数是var,它的常用格式是v = var(x),如果x是一个矩阵,var(x)返回一个包含矩阵x每一列方差的行向量。下面还是以矩阵a来示例,程序如下:d=var(var(a)运行结果如下:2.2.3 矩阵的转置矩阵的一个重要的运算是转置,如果a是一个实数矩阵,那么它被转置时,第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是一个长度为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不同。matlab中求矩阵的乘积直接用符号*即可,下面以a、b矩阵为例来分别演示ab与ba区别。示例程序如下:c=a*bd=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, l=ab , 下面仍然以a、b为例来演示。示例程序如下:r=b/al=ab 运行结果如下:2.2.8 矩阵的幂运算 对于二维方阵,a的p次乘方可以用ap实现。如果p是一个正整数,那么这个幂可以由许多矩阵乘法运算定义。对于 p= 0,得到与a维数相同的同一个矩阵;当 p空域卷积。5.维纳滤波:从噪声中提取信号波形的各种估计方法中,维纳(wiener)滤波是一种最基本的方法,适用于需要从噪声中分离出的有用信号是整个信号(波形),而不只是它的几个参量。 设维纳滤波器的输入为含噪声的随机信号。期望输出与实际输出之间的差值为误差,对该误差求均方,即为均方误差。因此均方误差越小,噪声滤除效果就越好。为使均方误差最小,关键在于求冲激响应。如果能够满足维纳霍夫方程,就可使维纳滤波器达到最佳。根据维纳霍夫方程,最佳维纳滤波器的冲激响应,完全由输入自相关函数以及输入与期望输出的互相关函数所决定。6.中值滤波:中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点。方法是去某种结构的二维滑动模板,将板内像素按照像素值的大小进行排序,生成单调上升(或下降)的为二维数据序列。二维中值滤波输出为g(x,y)=medf(x-k,y-l),(k,lw) ,其中,f(x,y),g(x,y)分别为原始图像和处理后图像。w为二维模板,通常为2*2,3*3区域,也可以是不同的的形状,如线状,圆形,十字形,圆环形等。7. 巴特沃斯低通滤波:巴特沃斯滤波器是滤波器的一种设计分类,其采用的是巴特沃斯传递函数,有高通、低通、带通、带阻等多种滤波器类型。 巴特沃斯滤波器在通频带内外都有平稳的幅频特性,但有较长的过渡带,在过渡带上很容易造成失真。(2).图像加噪声原始图像:(1).图像加高斯噪声程序:axes(handles.axes2);x=(handles.img);y=imnoise(x,gaussian,0,0.05); %加高斯噪声imshow(y);imwrite(y,gaussian.jpg);title(加高斯噪声) (2).图像加椒盐噪声程序:axes(handles.axes2);x=(handles.img);y=imnoise(x,salt & pepper,0.04); %加椒盐噪声imshow(y);imwrite(y,salt.jpg);title(加椒盐噪声)2.滤波(1)中值滤波程序: axes(handles.axes2);x=(handles.img);y=imnoise(x,salt & pepper,0.04); %加椒盐噪声z=medfilt2(y,5 5,symmetric); %中值滤波imshow(z);imwrite(z,medfilt.jpg);title(中值滤波)(2)维纳滤波程序:axes(handles.axes2);x=(handles.img);y=imnoise(x,gaussian,0,0.05); %加高斯噪声z=wiener2(y,5 5); %维纳滤波imshow(z);imwrite(z,wiener.jpg);title(维纳滤波) 4.心得体会matlab跟其他语言不一样(我用的比较多的编程语言,除了matlab就应该是c或c了,vb和delp
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 2940-2025柴油机用喷油泵、调速器、喷油器弹簧技术规范
- 滴滴包车司机考试题目及答案
- 天津小学考试试题及答案
- 土壤修复风险评估方法-洞察及研究
- 2025年高压电工基础知识考试试题集及解析
- 2025年高校教师资格证之《高等教育心理学》试题及答案详解
- 2025年高级会计师考试《高级会计实务》真题及答案解析
- 学生考试奇葩试题及答案
- 魔法史题库大全及答案
- 规范扶贫贷款管理办法
- 2025年秋季学期教科版二年级上册科学教学计划(三篇)
- 买家赎楼签协议签合同
- 2025至2030年中国虹膜识别市场深度调查分析及投资前景研究预测报告
- 2025-2026学年人教版(2024)初中信息科技七年级(全一册)教学计划及进度表(第一学期)
- 拖拉机和联合收割机查验记录表
- (公开课)26个英文字母书写笔顺动态演示(基础教育)
- Q∕GDW 11304.2-2021 电力设备带电检测仪器技术规范 第2部分:红外热像仪
- 部编版一年级道德与法治上册第1课《开开心心上学去》精品课件
- 高分子化学6离子聚合阳离子
- 注塑机各部件的中英文名称和作用
- NB_T 10337-2019《水电工程预可行性研究报告编制规程》_(高清最新)
评论
0/150
提交评论