武汉理工大学matlab课设.docx

上传人:b****4 文档编号:24666405 上传时间:2023-05-30 格式:DOCX 页数:30 大小:722.98KB
下载 相关 举报
武汉理工大学matlab课设.docx_第1页
第1页 / 共30页
武汉理工大学matlab课设.docx_第2页
第2页 / 共30页
武汉理工大学matlab课设.docx_第3页
第3页 / 共30页
武汉理工大学matlab课设.docx_第4页
第4页 / 共30页
武汉理工大学matlab课设.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

武汉理工大学matlab课设.docx

《武汉理工大学matlab课设.docx》由会员分享,可在线阅读,更多相关《武汉理工大学matlab课设.docx(30页珍藏版)》请在冰豆网上搜索。

武汉理工大学matlab课设.docx

武汉理工大学matlab课设

课程设计任务书

学生姓名:

李立专业班级:

电信1005班

指导教师:

祝立华阙大顺工作单位:

信息工程学院

题目:

MATLAB运算与应用设计5

初始条件:

1.MATLAB6.5以上版本软件;

2.课程设计辅导资料:

“MATLAB语言基础及使用入门”、“MATLAB及在电子信息课程中的应用”等;

3.先修课程:

信号与系统、数字信号处理、MATLAB应用实践及信号处理类课程等。

要求完成的主要任务:

(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)

1.课程设计时间:

1周;

2.课程设计内容:

根据指导老师给定的7套题目,按规定选择其中1套完成;

3.本课程设计统一技术要求:

研读辅导资料对应章节,对选定的设计题目进行理论分析,针对具体设计部分的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(含计算结果和图表),并对实验结果进行分析和总结。

具体设计要求包括:

1初步了解MATLAB、熟悉MATLAB界面、进行简单操作;

2MATLAB的数值计算:

创建矩阵、矩阵运算、多项式运算、线性方程组、数值统计;

3基本绘图函数:

plot,plot3,mesh,surf等,要求掌握以上绘图函数的用法、简单图形标注、简单颜色设定等;

4使用文本编辑器编辑m文件,函数调用;

5能进行简单的信号处理MATLAB编程;

6按要求参加课程设计实验演示和答辩等。

4.课程设计说明书按学校“课程设计工作规范”中的“统一书写格式”撰写,具体包括:

1目录;

2与设计题目相关的理论分析、归纳和总结;

3与设计内容相关的原理分析、建模、推导、可行性分析;

4程序设计框图、程序代码(含注释)、程序运行结果和图表、实验结果分析和总结;

5课程设计的心得体会(至少500字);

6参考文献(不少于5篇);

7其它必要内容等。

时间安排:

1.5周(分散进行)

参考文献:

[1](美)穆尔,高会生,刘童娜,李聪聪.MATLAB实用教程(第二版).电子工业出版社,2010.

[2]王正林,刘明.精通MATLAB(升级版).电子工业出版社,2011.

[3]陈杰.MATLAB宝典(第3版).电子工业出版社,2011.

[4]刘保柱,苏彦华,张宏林.MATLAB7.0从入门到精通(修订版).人民邮电出版社,2010.

指导教师签名:

年月日

系主任(或责任教师)签名:

年月日

 

1MATLAB概述................................................................................2

1.1MATLAB简介..................................................................................2

1.2MATLAB的功能...............................................................................2

1.3MATLAB的典型应用.........................................................................4

2设计题目:

MATLAB运算与应用设计套题五.................................4

3设计内容...............................................................................................6

3.1题一.....................................................................................................................6

3.2题二.....................................................................................................................6

3.3题三.....................................................................................................................8

3.4题四.....................................................................................................................9

3.5题五...................................................................................................................13

3.6题六...................................................................................................................14

3.7题七....................................................................................................................................16

3.8题八....................................................................................................................................17

3.9题九....................................................................................................................................18

3.10题十....................................................................................................................19

4课程设计心得....................................................................................21

5参考文献............................................................................................22

6本科生课程设计成绩评定表............................................................23

1MATLAB概述

1.1MATLAB简介

MATLAB软件由美国MathWorks公司于1984年推出,经过不断的发展和完善,如今己成为覆盖多个学科的国际公认的最优秀的数值计算仿真软件。

MATLAB具备强大的数值计算能力,许多复杂的计算问题只需短短几行代码就可在MATLAB中实现。

作为一个跨平台的软件,MATLAB已推出Unix、Windows、Linux和Mac等十多种操作系统下的版本,大大方便了在不同操作系统平台下的研究工作。

MATLAB软件具有很强的开放性和适应性。

在保持内核不变的情况下,MATLAB可以针对不同的应用学科推出相应的工具箱(toolbox),目前己经推出了图象处理工具箱、信号处理工具箱、小波工具箱、神经网络工具箱以及通信工具箱等多个学科的专用工具箱,极大地方便了不同学科的研究工作。

国内已有越来越多的科研和技术人员认识到MATLAB的强大作用,并在不同的领域内使用MATLAB来快速实现科研构想和提高工作效率。

MATLAB提供了20类图像处理函数,涵盖了图像处理的包括近期研究成果在内的几乎所有的技术方法,是学习和研究图像处理的人员难得的宝贵资料和加工工具箱。

这些函数按其功能可分为:

图像显示;图像文件I/O;图像算术运算;几何变换;图像登记;像素值与统计;图像分析;图像增强;线性滤波;线性二元滤波设计;图像去模糊;图像变换;邻域与块处理;灰度与二值图像的形态学运算;结构元素创建与处理;基于边缘的处理;色彩映射表操作;色彩空间变换;图像类型与类型转换。

1.2MATLAB的功能

(1)强大的科学计算机数据处理能力

MATLAB是一个包含大量计算算法的集合。

其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。

函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。

在通常情况下,可以用它来代替底层编程语言,如C和C++。

在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。

MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。

函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。

(2)出色的图形处理功能

图形处理功能MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。

高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。

可用于科学计算和工程绘图。

新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。

同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。

另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。

(3)应用广泛的模块集合工具箱

MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。

一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。

目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。

(4)实用的程序接口和发布平台

新版本的MATLAB可以利用MATLAB编译器和C/C++数学库以及图形库,将自己的MATLAB程序自动转换为独立于MATLAB运行的C和C++的代码。

允许用户编写可以和MATLAB进行交互的C或C++语言程序。

另外,MATLAB网页服务程序还容许在Web应用中使用自己的MATLAB数学和图形程序。

MATLAB的一个重要特色就是具有一套程序扩展系统和一组称之为工具箱的特殊应用子程序。

工具箱是MATLAB函数的子程序库,每一个工具箱都是为某一类学科专业和应用而定制的,主要包括信号处理、控制系统、神经网络、模糊逻辑、小波分析和系统仿真等方面的应用。

(5)应用软件开发(包括用户界面)

在开发环境中,使用户更方便地控制多个文件和图形窗口;在编程方面支持了函数嵌套,有条件中断等;在图形化方面,有了更强大的图形标注和处理功能,包括对性对起连接注释等;在输入输出方面,可以直接向Excel和HDF5进行连接。

1.3MATLAB的典型应用

MATLAB的应用领域十分广阔,典型的应用举例如下:

(1)数据分析

(2)数值与符号计算;

(3)工程与科学绘图;

(4)控制系统设计;

(5)航天工业;

(6)汽车工业;

(7)生物医学工程;

(8)语音处理;

(9)图像与数字信号处理;

(10)财务、金融分析;

(11)建模、仿真及样机开发;

(12)新算法研究开发;

(13)图形用户界面设计。

2设计题目:

Matlab运算与应用设计5

1.已知t=linspace(0,2*pi,6),求t的正弦和正弦的绝对值。

2.绘制函数

时的曲线。

3.已知a=[1,3,0;2,0,1;4,6,5],a1=logical([101]),a2=logical([110]),b=a>1,求a(a1,a2)和a(b)。

4.分析下面每条指令的功能并运行,观察执行结果。

a)X=0:

0.25:

3;

Y=X.*exp(-X);

plot(X,Y),xlabel(‘x’),ylabel(‘y’),title(‘y=x*exp(-x)’);

(2)A=zeros(2,5)

A(:

)=-4:

5

L=abs(A)>4

islogical(L)

X=A(L)

(3)A=[1:

5;6:

10]

pow2(A)

(4)A=zeros(3,2)

A(:

)=1:

6

A=A*(1+i)

A1=A.’;

B1=A’;

(5)A=ones(2,3)

B=ones

(2)

C=eye(4)

D=diag(C)

E=repmat(C,1,3)

5.计算

在x=0.1与10处的值。

6.求函数

n=100的值。

7.求1500个元素的随机数向量A中大于0.5的元素个数。

8.用图形表示连续调制波形

运行下面的程序,观察结果,并简单说明。

t1=(0:

11)/11*pi;y1=sin(t1).*sin(9*t1);

t2=(0:

100)/100*pi;y2=sin(t2).*sin(9*t2);

subplot(2,2,1),plot(t1,y1,'r.'),axis([0,pi,-1,1]),title('子图

(1)')

subplot(2,2,2),plot(t2,y2,'r.'),axis([0,pi,-1,1]),title('子图

(2)')

subplot(2,2,3),plot(t1,y1,t1,y1,'r.')

axis([0,pi,-1,1]),title('子图(3)')

subplot(2,2,4),plot(t2,y2)

axis([0,pi,-1,1]),title('子图(4)')

9.已知方程组

,用矩阵除法来解线性方程组。

10.已知

,其中t的范围是[010],计算y的微分和积分并给出曲线图。

3设计内容

3.1题一

1.已知t=linspace(0,2*pi,6),求t的正弦和正弦的绝对值。

分析:

linspace是用来生成一个等差数列的,形如x=linspace(a,b,n)作用就是将生成一个以a和b为断点共划分为n个区间的向量。

并且需要用到正弦、余弦以及绝对值函数,他们都存在matlab的基本函数库matlabelfun里,直接调用就可以了。

我们可以直接在Commandwindow命令行输入程序,运行即可,如图:

图3.1-1

3.2题二

2.绘制函数

时的曲线。

分析:

这道题目需要我们在[0,1]范围内绘制曲线,查书可知使用plot函数可以在Matlab中画出二维图形。

在MATLAB中常用的二维图形绘制及相关操作如下所示。

(1)二维图形绘制plot函数

格式:

plot(x,y)

功能:

输入两个数组的情况。

绘出以x数组中的元素作为横坐标,y数组中的元素作为纵坐标的曲线。

还可以使用plot(x,[y1,y2,….])的命令格式,以x为向量(即横轴),以y=[y1,y2,…]为数据矩阵,且其中的y1,y2,……为横向量还是列向量都可以得出多条基于相同横轴的曲(折)线。

y的个数即为曲线的条数。

此命令可以在同一张图中绘制多条曲线。

(2)subplot函数

格式:

subplot(m,n,p)

功能:

将图形窗口分成n×m个子图形窗口,并选择第p个窗口作为当前的图形窗口,供绘制函数图形使用。

(3)添加图形标题吗命令title

格式:

title(’string’)

功能:

在当前坐标系的顶部加一个文本串string,作为该图形的标题。

(4)添加坐标轴标志函数xlabel,ylable,zlable

格式:

xlabel(‘text’)或ylable(‘text’)或zlable(‘text’)

功能:

给当前的X轴或Y轴或Z轴标注文本标注

(5)图形标注函数legend

格式:

legend(string1,string2,string3,…)

功能:

在当前图中添加图例

(6)文本注释函数text

格式:

text(X,Y,’string’)

功能:

二维图形(X,Y)位置处标注文本注释’string’

根据这些函数的作用,我们可以选择plot函数。

程序运行代码如图3.2-1所示

图3.2-1

程序运行结果如图3.2-2所示

图3.2-2

3.3题三

3.已知a=[1,3,0;2,0,1;4,6,5],a1=logical([101]),a2=logical([110]),b=a>1,求a(a1,a2)和a(b)

分析:

logical(a)以一个数组的形式返回,可以用于逻辑索引或逻辑测试。

因此题中:

a1=101,a2=110.b=a>1为逻辑运算,矩阵a中,大于1的元素取1,不大于1的元素取0,则有

b=

.对于这个题目,可以建立一个M文件我们可以新建一个M文件来计算这道题,命名为th.M,程序输入窗口如图3.2-1

图3.2-1

最后,运行出来的结果如图3.2-2

图3.2-2

3.4题四

4.分析下面每条指令的功能并运行,观察执行结果。

(1)X=0:

0.25:

3;

Y=X.*exp(-X);

plot(X,Y),xlabel(‘x’),ylabel(‘y’),title(‘y=x*exp(-x)’);

(2)A=zeros(2,5)

A(:

)=-4:

5

L=abs(A)>4

islogical(L)

X=A(L)

(3)A=[1:

5;6:

10]

pow2(A)

(4)A=zeros(3,2)

A(:

)=1:

6

A=A*(1+i)

A1=A.’;

B1=A’;

(5)A=ones(2,3)

B=ones

(2)

C=eye(4)

D=diag(C)

E=repmat(C,1,3)

分析:

(1)此题中需要用到绘制二维图形的基本函数polt,常用形式为plot(x,y1,x,y2)。

并用title(‘y=x*exp(-x)’)为他加上图形标题;以及用xlabel(‘x’)为他加上x轴说明;和用ylabel(‘y’)为他加上y轴说明。

执行结果:

如图3-4-1

图3.4-1图

(2)

1)分析:

先用函数产生一个2行5列的零矩阵,然后给A从-4到5(步长为1)赋值,并判断其绝对值是否大于4,若是值为1,否则为0。

后面为判断L是否为逻辑数组,若是值为1,否则为0。

X为逻辑数组L对应为1的位置的数据是列向量。

2)执行结果如图3.4-2

图3.4-2

(3)

1)分析:

A=[1:

5;6:

10]创建一个2×5的矩阵,其值大小从1至10依次递增1;pow2(A)

将矩阵A中的每个值都变为2^x,x为矩阵中的每个值。

2)程序运行结果如图3.4-3

图3.4-3

(4)

1)分析:

A=zeros(3,2);A(:

)=1:

6;A=A*(1+i)先创建一个3×2的矩阵,依次赋值1

至6,再将A2*(1+i)的值赋给A;A1=A.将A行列转置后赋给A1;B1=A’将A转置后再取其共轭复数将其赋给B1。

2)程序运行结果如图4.1-5所示。

图3.4-4

(5)

1)A=ones(2,3)产生一个2×3的全1矩阵;B=ones

(2)产生一个二阶的全1方阵;C=eye(4)产生一个四阶的单位矩阵;D=diag(C)取C矩阵主对角线上的元素构成向量D。

E=repmat(C,1,3)将矩阵复制1×3块,构成新的矩阵E。

2)程序的运行结果如图4.1-6所示。

图3.4-5

3.5题五

1.计算

在x=0.1与10处的值。

分析:

该题是求多项式在某一点的值。

我们知道,在MATLAB中为我们提供了许多的关于多项式计算的函数。

常见的及其作和用法如下所示。

(1)多项式的表示n

在MATLAB中,对多项式p(x)=+...++.用其系数的行向量p=[]来表示。

(2)多项式求值函数polyval

格式:

y=polyval(p,x)

功能:

返回多项式p在x处的值。

其中x可以是复数,也可以使数组(当p为矩阵多项式时,使用polyvalm函数)。

(3)向量转换为多项式函数poly2sym

格式:

y=poly2sym(p)

功能:

将向量p转换为多项式

显然,此题我们要用的是polyval函数。

其程序代码及运行结果如图3.5-1所示。

图3.5-1

3.6题六

2.求函数

n=100的值。

分析:

由题可得,该数值的就算需要我们编写M文件,利用循环机结构while语句或者for语句,n的值由自己确定,本题中我们取n=100。

输出时我们可以使用格式输出函数fprintf。

程序流程图如下所示。

 

NO

YES

 

程序代码如图3.6-1所示。

图3.6-1

点击

得到程序运行结果如图3.6-2所示

图3.6-2

3.7题七

7.求1500个元素的随机数向量A中大于0.5的元素个数。

1)分析:

首先我们因该利用rand函数产生1500个元素的随机向量,我们可以将其定义为150×10的矩阵。

统计其中大于0.5的元素个数时,我们可以借助于for循环语句将矩阵中的每一个元素与0.5一一比较而统计个数。

若其大于0.5,则N的值加一。

最后输出N的值即为我们所需要的结果。

2)M文件程序代码如图3.7-1所示。

图3.7-1

点击

,得到程序的运行结果如图3.7-2所示。

图3.7-2

3.8题八

8.用图形表示连续调制波形

运行下面的程序,观察结果,并简单说明。

t1=(0:

11)/11*pi;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 公共行政管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1