武汉理工Matlab课设第七套.docx
- 文档编号:17453245
- 上传时间:2023-07-25
- 格式:DOCX
- 页数:31
- 大小:281.66KB
武汉理工Matlab课设第七套.docx
《武汉理工Matlab课设第七套.docx》由会员分享,可在线阅读,更多相关《武汉理工Matlab课设第七套.docx(31页珍藏版)》请在冰点文库上搜索。
武汉理工Matlab课设第七套
课程设计任务书
学生姓名:
金肇威专业班级:
电信1106班
指导教师:
李景松阙大顺工作单位:
信息工程学院
题目:
Matlab运算和二阶动态电路分析
初始条件:
1.MATLAB7.0以上版本软件;
2.课程设计辅导资料:
“MATLAB语言基础及使用入门”、“MATLAB及在电子信息课程中的使用”等;
3.先修课程:
高等数学、线性代数、电路、Matlab使用实践及信号处理类相关课程等。
要求完成的主要任务:
(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
1.课程设计时间:
1.5周,分散;
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概述.............................................................................................1
1.1MATLAB简介..................................................................................1
1.2MATLAB的功能...............................................................................1
1.3MATLAB的典型使用.........................................................................3
2设计题目:
MATLAB运算和使用设计套题七.................................4
3设计内容...............................................................................................6
3.1题一.....................................................................................................................6
3.2题二.....................................................................................................................7
3.3题三.....................................................................................................................8
3.4题四.....................................................................................................................8
3.5题五...................................................................................................................14
3.6题六...................................................................................................................15
3.7题七....................................................................................................................................16
3.8题八....................................................................................................................................17
3.9题九....................................................................................................................................18
3.10题十....................................................................................................................20
3.11题十一.................................................................................................................................21
4课程设计心得....................................................................................25
5参考文献............................................................................................26
6本科生课程设计成绩评定表............................................................27
摘要:
报告分为四部分。
第一部分主要介绍Matlab的基本知识、功能及使用。
第二部分分为十一道题目,涉及Matlab各个知识点,有详细的分析,程序及结果。
第三部分是关于本次课程设计的自我总结和心得体会。
第四部分是课程设计和制作报告期间阅读的相关文献。
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运算和二阶动态电路分析
1.求[100,200]之间第一个能被21整除的整数。
2.绘制余弦曲线y=cos(x)和指数函数y=x^2曲线。
3.计算2+4+6...+100的值,当和大于2000时终止计算。
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(3,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.利用while…end循环结构编程求出1+3+5…+101的值。
6.随机生成一个10000×3的矩阵,并绘制其柱状图。
7.利用switch…case编写以下程序:
某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price来表示):
price<200无折扣
200
price<5005%折扣
500
price<100010%折扣
Price
100015%折扣
输入所售商品的价格,求其实际销售价格。
8.利用函数调用编写函数文件,求半径r分别为0.5和5时圆的面积和周长。
9.已知
,其中t的范围是[010],计算y的微分和积分并给出曲线图。
10.编写程序,用plot(x,y)绘制下图所示曲线。
a)b)
11.在如图所示的二阶电路中,R=1kΩ,
电容原先已充电。
且
。
在t=0时开关S闭合。
试求
绘出各曲线图;开关S闭合后的
为多大?
3设计内容
3.1题一.求[100,200]之间第一个能被21整除的整数。
3.2.1分析:
利用for循环语句控制,并结合rem函数求得个符合条件的数。
3.1.2程序编码:
>>forn=100:
200%控制n从100开始以1为步长出个取值至200;
ifrem(n,21)~=0%判断条件:
整数对21取余不等于0
continue%结束本次循环,开始下一次循环
end%if语句结束标志
break%跳出循环体执行下面的语句
end
>>n%提示输出n
n=105
3.1.3程序流程
图1-1题1流程图
3.1.4实验结果进行分析和总结:
利用for语句逐个去值,然后通过if语对rem(n,21)~=0进行判断满足条件时,循环继续。
不满足时,结束循环。
输出n的值为105
3.2题二.绘制余弦曲线y=cos(x)和指数函数y=x^2曲线。
3.2.1分析:
在matlab中绘制函数图像有很多的函数可以完成。
如:
fplot函数plot函数等,不同的函数使用规则是有区别的,合理使用任何一个画图函数得到预期的结果。
3.2.2程序编码:
>>x=0:
pi/100:
4*pi;
y=cos(x);
plot(x,y)
>>
>>x=0:
0.01:
4;
y=x.^2;
plot(x,y)
>>
3.2.3函数图像如(图2-1):
y=cos(x)y=x^2
图2-1题2结果截图
3.2.4实验结果分析和总结:
Plot函数的基本调运格式为:
plot(x,y)其中x,y为向量,可存储x坐标和y坐标数据。
3.3题三.计算2+4+6...+100的值,当和大于2000时终止计算。
3.3.1分析:
利用for循环语句来的到累加的效果,并利用while语句控制和大于2000时终止计算。
3.3.2程序编码:
>>y=0;
n=100;
fori=2:
2:
100
y=y+i;
ify>2000
break;
end
end
>>y
y=2070
3.3.3实验结果分析和总结:
利用for语句使i从2到100逐个取值,利用y=y+i语句实现累加,利用ify>2000语句最终达到题目要求,求得y=2070。
3.4题四.分析下面每条指令的功能并运行,观察执行结果。
3.4.1x=0:
0.25:
3;
y=x.*exp(-x);
plot(x,y),label(‘x‘),label(‘y’),title(‘y=x*exp(-x)’);
3.4.1.1分析:
X=0:
0.25:
3;得到以0.25为步长,取得0到3内的所有实数,确定自变量X的范围。
利用plot函数画出函数Y的图像,并设置图像的一些基本性质。
3.4.1.2程序编码:
>>x=0:
0.25:
3;
y=x.*exp(-x);
plot(x,y),xlabel('x'),ylabel('y'),title('y=x*exp(-x)');
图4-1y=x*exp(-x)
3.4.2A=zeros(2,5)
A(:
)=-4:
5
L=abs(A)>4
islogical(L)
X=A(L)
3.4.2.1分析:
zeros函数建立一个2*5全0矩阵赋给A,在将-4到5内的整数赋给A,形成新的矩阵。
L=abs(A)>4,获得新的矩阵L,通过逻辑函数islogical得到新的矩阵赋给X。
3.4.2.2程序编码及其输出结果:
输入:
>>A=zeros(2,5)
输出:
A=
00000
00000
输入:
>>A(:
)=-4:
5
输出:
A=
-4-2024
-3-1135
输入:
>>L=abs(A)>4
输出:
L=
00000
00001
输入:
>>islogical(L)
输出:
ans=
1
输入:
>>X=A(L)
输出:
X=
5
3.4.3A=[1:
5;6:
10]
pow2(A)
3.4.3.1分析:
pow2函数的使用。
3.4.3.2程序编码:
输入:
>>A=[1:
5;6:
10]
输出:
A=
12345
678910
输入:
>>pow2(A)
输出:
ans=
2481632
641282565121024
3.4.4A=zeros(3,2)
A(:
)=1:
6
A=A*(1+i)
A1=A.’;
B1=A’;
3.4.4.1程序代码分析:
A=zeros(3,2)%生成一个3行2列的全0矩阵
A(:
)=1:
6%将A从新赋值
A=A*(1+i)%将A中的每个元素进行运算
A1=A.'%求A的转置矩阵
B1=A'%求A的共轭转置矩阵
3.4.4.3程序运行结果:
A=
00
00
00
A=
14
25
36
A=
1.0000+1.0000i4.0000+4.0000i
2.0000+2.0000i5.0000+5.0000i
3.0000+3.0000i6.0000+6.0000i
A1=
1.0000+1.0000i2.0000+2.0000i3.0000+3.0000i
4.0000+4.0000i5.0000+5.0000i6.0000+6.0000i
B1=
1.0000-1.0000i2.0000-2.0000i3.0000-3.0000i
4.0000-4.0000i5.0000-5.0000i6.0000-6.0000i
3.4.5A=ones(2,3)
B=ones
(2)
C=eye(4)
D=drag(C)
E=repeat(C,1,3)
3.4.5.1分析:
ones函数以及eye,drag,repmat函数的使用。
3.4.5.2程序编码:
A=ones(2,3)%生成一个2×3的全为1的矩阵
B=ones
(2)%生成一个2×2的全为1的方阵
C=eye(4)%生成一个4阶单位矩阵
D=diag(C)%取C矩阵中的对角元素作为列向量
E=repmat(C,1,3)%将C矩阵复制为1×3块的矩阵
3.4.5.3程序运行结果
A=
111
111
B=
11
11
C=
1000
0100
0010
0001
D=
1
1
1
1
E=
100010001000
010001000100
001000100010
000100010001
3.5题五.利用while…end循环结构编程求出1+3+5…+101的值。
3.5.1分析:
while语句
while语句的一般格式为:
while(条件)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 武汉理工 Matlab 第七