武汉理工大学Matlab第一套设计报告书_第1页
武汉理工大学Matlab第一套设计报告书_第2页
武汉理工大学Matlab第一套设计报告书_第3页
武汉理工大学Matlab第一套设计报告书_第4页
武汉理工大学Matlab第一套设计报告书_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、武汉理工大学Matlab课程设计 课程设计任务书学生姓名: + 专业班级: 电信1205 指导教师:+ 工作单位:信息工程学院 题目: Matlab运算与受控源电阻电路分析 初始条件:1. Matlab7.0以上版本软件;2. 课程设计辅导资料:“Matlab语言基础及使用入门”、“Matlab及在电子信息课程中的应用”、线性代数及相关书籍等;3. 先修课程:高等数学、线性代数、电路、Matlab应用实践及信号处理类相关课程等。要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1. 课程设计时间:1.5周,分散;2. 课程设计内容:根据指导老师给定的7套题目,按

2、规定选择其中1套完成;3. 本课程设计统一技术要求:研读辅导资料对应章节,对选定的设计题目进行理论分析,针对具体设计部分的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(含计算结果和图表等),并对实验结果进行分析和总结。具体设计要求包括: 初步了解Matlab、熟悉Matlab界面、进行简单操作; MATLAB的数值计算:创建矩阵、矩阵运算、多项式运算、线性方程组、数值统计; 基本绘图函数:plot, plot3, mesh, surf等,要求掌握以上绘图函数的用法、简单图形标注、简单颜色设定等; 使用文本编辑器编辑m文件,函数

3、调用; 能完成简单的电路Matlab编程分析; 按要求参加课程设计实验演示和答辩等。 按要求参加课程设计实验演示和答辩等。4. 课程设计说明书按学校“课程设计工作规范”中的“统一书写格式”撰写,具体包括: 目录; 与设计题目相关的理论分析、归纳和总结; 与设计内容相关的原理分析、建模、推导、可行性分析; 程序设计框图、程序代码(含注释)、程序运行结果和图表、实验结果分析和总结; 课程设计的心得体会(至少500字); 参考文献(不少于5篇); 其它必要内容等。时间安排:1.5周(分散进行)指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日Matlab应用课程设计目录1.Matlab

4、 概述.11.1 简介.11.2 主要功能.11.3 典型应用.21.4 基本命令.32.设计题目:Matlab运算与应用设计 套题一.63.任务完成过程.83.1 题一.83.2 题二.83.3 题三.93.4 题四.103.5 题五.153.6 题六.163.7 题七.173.8 题八.183.9 题九.193.10 题十.193.11 题十一.203.12 题十二.224.心得体会.245.参考文献.25武汉理工大学Matlab课程设计 1、Matlab 概述1.1 简介Matlab是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计

5、算语言和交互式环境,主要包括MATLAB和Simulink两大部分Matlab主要用于数值运算,同时还能用于控制系统设计与分析、图像处理、信号处理与通讯、金融建模和分析等。Simulink部分提供了一个可视化开发环境,常用于系统模拟、动态/嵌入式系统开发等方面。如今,Matlab不仅成为各大公司和科研机构的专用软件,在大学校园也得到了普及,许多本科和专科的学生借助它来学习大学数学和计算方法等课程,而硕士生和博士生在做科学研究时,也经常要用到MATLAB 进行数值计算和图形处理。可以说,MATLAB已经深入到了各个专业的很多学科。1.2 Matlab的功能1.2.1 强大的科学计算机数据处理能力

6、Matlab是一个包含大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。在通常情况下,可以用它来代替底层编程语言,如C和C+ 。在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三

7、角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。1.2.2 出色的图形处理功能图形处理功能Matlab自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。新版本的Matlab对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能方面更加完善,而且对于一些其他软件所没有的功能,Matlab同样表现了出色的处理能力。同时对一些特殊的可视化要求,例如图形对话等,Matlab也有相应的功能函数,保证了用户不同层次的要求。另外新版本

8、的Matlab还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。1.2.3 应用广泛的模块集合工具箱Matlab对许多专门的领域都开发了功能强大的模块集和工具箱。一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。目前,Matlab已经把工具箱延伸到了科学研究和工程应用的诸多领域,如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实

9、时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,在工具箱(Toolbox)都有。1.2.4 实用的程序接口和发布平台新版本的Matlab可以利用Matlab编译器和C/C+数学库以及图形库,将自己的Matlab程序自动转换为独立于Matlab运行的C和C+的代码。允许用户编写可以和Matlab进行交互的C或C+语言程序。另外,Matlab网页服务程序还容许在Web应用中使用自己的Matlab数学和图形程序。Matlab的一个重要特色就是具有一套程序扩展系统和一组称之为工具箱的特殊应用子程序。工具箱是Matlab函数的子程序库,每一个工具箱都是为某一类学科专业和应

10、用而定制的,主要包括信号处理、控制系统、神经网络、模糊逻辑、小波分析和系统仿真等方面的应用。1.2.5 应用软件开发(包括用户界面)在开发环境中,使用户更方便地控制多个文件和图形窗口;在编程方面支持了函数嵌套,有条件中断等;在图形化方面,有了更强大的图形标注和处理功能,包括对性对起连接注释等;在输入输出方面,可以直接向Excel和HDF5进行连接。1.3 Matlab的典型应用Matlab的应用领域十分广阔,典型的应用举例如下:(1) 数据分析(2) 数值与符号计算;(3) 工程与科学绘图;(4) 控制系统设计;(5) 航天工业;(6) 汽车工业;(7) 生物医学工程;(8) 语音处理;(9)

11、 图像与数字信号处理;(10) 财务、金融分析;(11) 建模、仿真及样机开发;(12) 新算法研究开发;(13) 图形用户界面设计。1.4 基本命令1.4.1 变量赋值Matlab 是矩阵运算,因此Matlab 运算的基本变量通常都是矩阵。(1)直接赋值对2×2 的矩阵A 进行赋值A=1 3 ;2 4 A=1 3 2 4 各行元素由分号分隔,同行元素由空格、逗号分隔(2)冒号赋值A = S1:S2:S3其中S1 为起始值,S2 为步长,S3 为终止值。A 1:2:10A =1 3 5 7 9步长S2 的默认值为1。A = 1:6A =1 2 3 4 5 6(3)函数赋值n 返回变量

12、列表 函数名(输入变量列表)x = 1y = sin(x)y =0.84151.4.2 矩阵运算Matlab的运算都是以矩阵的方式进行矩阵与矩阵的运算:、:相同维数的矩阵才能进行加减运算.*、./:相同维数的矩阵对应元素的乘除运算*:满足矩阵乘法的规则:方阵才能进行的幂次运算n 矩阵与标量的运算、:矩阵各元素都与标量进行加、减*、/:矩阵各元素都与标量进行乘、除矩阵元素标识:如果要得到矩阵中某一元素或者一组元素,可采用以下方法:A(m,n):第m 行、第n 列的元素A(:,n):第n 列的所有元素组成的向量A(m,:):第m 行的所有元素元素组成的向量A(m1:m2,n1:n2):从m1 行到

13、m2 行,以及从n1 列到n2 列的子矩阵1.4.3 绘图命令Plot 线性X-Y 坐标图Stem 柱状图subplot 在一个figure 中子图绘制Loglog 双对数坐标图figure 打开图形窗口hold 是否允许新图覆盖旧图Title 画题头Xlabel x 轴标注Ylabel y 轴标注Text 任意定位的标注grid 图形网格1.4.4 命令文件和函数文件M文件有两种形式:命令文件(Script File)和函数文件(Function File )。这两种文件的扩展名,均为“ . m” 。对于一些比较简单的问题,在指令窗中直接输入指令计算;对于复杂计算,采用命令文件(Script

14、 file)最为合适。Matlab 只是按文件所写的指令执行。命令文件的构成比较简单,只是一串按用户意图排列而成的MATLAB 指令集合。命令文件运行后,所产生的所有变量都驻留在Matlab基本工作空间(Base workspace)中。只要用户不使用清除指令(clear), Matlab 指令窗不关闭,这些变量将一直保存在基本工作空间中。与命令文件不同,函数文件可以传递参数,命令文件不具备参数传递的功能。Matlab提供的函数指令大部分都是由函数文件定义的。从形式上看,与命令文件不同,函数文件的笫一行总是以“function”引导的“函数申明行”;从运行上看,与命令文件运行不同,每当函数文件

15、运行, MATLAB 就会专门为它开辟一个临时工作空间,称为函数工作空间。当执行文件最后一条指令时,就结束该函数文件的运行,同时该临时函数空间及其所有的中间变量就立即被清除。(1)Matlab的程序结构1) 顺序结构2) 循环结构: forend 循环 while-end 循环。3) 选择结构: ifelseend switch-case 结构。4)异常处理机制:try-catch 结构。(2)程序流控制常用指令:return,echo,input,pause,keyboard,break警示指令:error, warning (3)Matlab 语言的函数的基本结构Function 返回变量

16、列表=函数名(输入变量列表)2.设计题目Matlab运算与受控源电阻电路分析1 计算y1=和y2=;2 画出衰减震荡曲线及其他的包络线,t的取值范围是0,4.3 画出所表示的三维曲面。x,y的取值范围是-8,8。4 分析下面每条指令的功能并运行,观察执行结果。(1) X=0:0.1:1;Y=X.*exp(-X);plot(X,Y),xlabel(x), ylabel(y),title(y=x*exp(-x);(2) A=zeros(2,5)A(:)=-4:5L=abs(A)>3islogical(L)X=A(L)(3) A=1:4;5:8pow2(A)(4) A=zeros(2,3)A(

17、:)=1:6A=A*(1+i)A1=A.;B1=A;(5) A=ones(1,2)B=ones(2)C=eye(3)D=diag(C)E=repmat(C,1,3)5 计算在x=0.1与10处的值。6 求函数1+1/2+1/3+1/n, n=100的值。7 求500个元素的随机数向量A中大于0.5的元素个数。8.求线性方程组AX=b的根。9.画出y=|1000sin(4x)|+1的x轴为对数的图。10用FFT直接计算x=cos(2*pi*40*t)+2sin(2*pi*120*t)+w(t)的功率谱。11.如图所示的电路,已知:, , , , , ,.(1) 如,求,;(2) 如已知,求,.1

18、2. 如图所示的电路,各元件参数已在图中标出,求i 及3.任务完成过程3.1计算y1=和y2=;3.1.1 分析:直接在主界面输入程序代码即可计算运行。3.1.2 结果:如图3.1.1 和图3.1.2 所示。 图3.1.1 题1.1程序结果图 图3.1.2题1.2程序结果图3.2 画出衰减震荡曲线及其他的包络线,t的取值范围是0,4.3.2.1 分析:此类画图先声明t范围,再列出y和t、y0和t的关系式,最后画图。3.2.2 程序:>> t=0:pi/50:4*pi; %t的取值范围hold on; %允许在同一坐标系下绘制不同的图形y=exp(-t/3).*sin(3*t); %

19、y关于t的函数y0=exp(-t/3); %y0关于t的函数plot(t,y,'r'); %画出y的二维图形,红色。plot(t,y0,'b'); %画出y的二维图形,蓝色。xlabel('时间t');ylabel('y轴'); %标记x轴与y轴。legend('y=exp(-t./3).*sin(3.*t)','y0=exp(-t./3)'); %添加文字标grid %画出网格3.2.3 结果:如图3.2.1所示。图3.2.1 衰减震荡曲线及包络线图3.3 画出所表示的三维曲面。x,y的取值范围是

20、-8,8。3.3.1 分析:用meshgrid函数产生x,y平面区域内的网格坐标矩阵,再列出z与x,y的关系,然后再画图。3.3.2 程序:>> x,y=meshgrid(-8:0.25:8); %在0,4pi×0,4pi区域生成网格坐标 z=sin(sqrt(x.*x+y.*y)./sqrt(x.*x+y.*y); %z关于x与y的函数 surf(x,y,z) %画出三维曲面3.3.3 结果:如图3.3.1所示。图3.3.1 三维曲面图3.4 分析下面每条指令的功能并运行,观察执行结果。3.4.1 X=0:0.1:1;Y=X.*exp(-X);plot(X,Y),xla

21、bel(x), ylabel(y),title(y=x*exp(-x);分析:X=0:0.1:1是以0.1为步长从0到1取实数,来确定X的取值。Y=X.*exp(-X)是Y关于X的函数。然后用plot(X,Y)画出二维曲线,并用title(y=x*exp(-x)为他加上图形标题;以及用xlabel(x)为他加上x轴说明;和用ylabel(y)为他加上y轴说明。运行结果如图3.4.1图3.4.1 题4.1运行图3.4.2 A=zeros(2,5)A(:)=-4:5L=abs(A)>3islogical(L)X=A(L)分析:A=zeros(2,5)是创建一个2×5的零矩阵,A(:

22、)=-4:5是给矩阵A从-4到5(步长为1)依次赋值。L=abs(A)>3是判断其绝对值是否大于3,若是值为1,否则为0并把值赋给矩阵L。islogical(L)为判断L是否为逻辑数组,若是值为1,否则为0。X是列向量,其数据为数组A对应逻辑数组L为1的位置的数。运行结果如图3.4.2。 图3.4.2 题4.2运行图3.4.3 A=1:4;5:8pow2(A)分析:A=1:4;5:8是创建一个2×4的矩阵,其值是第一行为1到4,第二行为5到8(步长为1)。pow2(A)将矩阵A中的每个值都变为2x(x为矩阵中的每个值)并把该值赋给个缺省变量ans。运行结果如图3.4.3图3.4

23、.3 题4.3运行图3.4.4A=zeros(2,3) A(:)=1:6A=A*(1+i)A1=A.;B1=A;分析:A=zeros(2,3)是创建一个2×3的零矩阵。A(:)=1:6是从1到6(步长为1)给矩阵依次赋值。A=A*(1+i)是将A*(1+i)重新赋值给A。A1=A. 将A行列转置后赋给A1; B1=A将A转置后再取其共轭复数将其赋给 B1。运行结果如图3.4.4。图3.4.4 题4.4运行结果图3.4.5A=ones(1,2)B=ones(2)C=eye(3)D=diag(C)E=repmat(C,1,3)分析:A=ones(1,2)创建一个1×2的全1矩阵

24、;B=ones(2)创建一个二阶的全1方阵;C=eye(3)创建一个三阶的单位矩阵;D=diag(C)取C矩阵主对角线上的元素构成向量D。E=repmat(C,1,3) 将矩阵复制1×3块,构成新的矩阵E。运行结果如图3.4.5.图3.4.5 题4.5运行结果图3.5 计算在x=0.1与10处的值。3.5.1 分析:我们可以写一个函数,即编辑一个M文件,通过函数通过函数来计算y的值。3.5.2 程序: functiony=T5(x) %编写T5函数y=x.5+0.1*x.4-100 %y关于x的函数end3.5.3 结果: 如图3.5.1。图3.5.1 题五运行结果图3.6 求函数1

25、+1/2+1/3+1/n, n=100的值。3.6.1 分析: 此题我们可以通过编写M文件,利用循环机结构while语句或者for语句来求和。程序流程图如3.6.1所示。图3.6.1 题六流程图3.6.2 程序:functionsum=T6(n) %T6函数sum=0;i=1;while(i<=n) %累加循环 sum=sum+1/i; i=i+1;endend3.6.3 结果:如图3.6.2。图3.6.2 题六运行结果图3.7 求500个元素的随机数向量A中大于0.5的元素个数。3.7.1 分析:首先我们因该利用rand函数产生500个元素的随机向量,我们可以将其定义为1×5

26、00的矩阵。统计其中大于0.5的元素个数时,我们可以借助于for循环语句将矩阵中的每一个元素与0.5一一比较而统计个数。若其大于0.5,则N的值加一。最后输出N的值即为我们所需要的结果。3.7.2 程序:A=rand(1,500); %生成随机数组An=0; for(i=1:1:500) %循环判断A数组元素是否大于0.5 if A(1,i)>0.5; n=n+1; endendfprintf('所产生的500个随机数中大于0.5的有%d个',n) %输出n3.7.3 结果:如图3.7.1。图3.7.1 题七运行结果图3.8 求线性方程组AX=b的根。3.8.1 分析:此

27、题利用线性代数中所学的求解线性方程组根的求法,直接先求A的逆矩阵再乘以B。3.8.2 程序:>> A=0.4156,0.2319,0.2024,0.2930,0.3690;. %输入A矩阵0.3206,0.4650,0.5662,0.1812,0.4631;.0.5146,0.3734,0.8315,0.3575,0.6278;.0.7192,0.0500,0.4226,0.9341,0.9445;.0.8420,0.0739,0.8395,0.5894,0.4058;>> B=0.0505;0.4449;0.5959;0.7483;0.8642; %输入B矩阵>

28、> X=inv(A)*B %取A逆矩阵乘B3.8.3 结果:如图3.8.1图3.8.1 题八x矩阵结果图3.9 画出y=|1000sin(4x)|+1的x轴为对数的图。3.9.1 分析:做此题时,先定义x,然后写出y关于x的函数,而后将x轴设为对数模式,最后画图。3.9.2 程序:>> x=0:0.1:100; %定义x的范围及步进长度>> y=abs(1000.*(sin(x)+1; %y关于x函数>> semilogx(y); %x轴取对数模式>> grid %画出网格3.9.3 结果:如图3.9.1图3.9.1 y=|1000sin(

29、4x)|+1的x轴为对数图3.10 用FFT直接计算x=cos(2*pi*40*t)+2sin(2*pi*1 20*t)+w(t)的功率谱。3.10.1 分析:直接法又称周期图法,我们把随机序列x(n)的N个观测数据视为一能量有限的序列,直接计算x(n)的离散傅立叶变换,得X(k),然后再取其幅值的平方,并除以N,作为序列x(n)真实功率谱的估计。3.10.2 程序:>> Fs=1000; %采样频率>> t=0:1/Fs:1; %定义t的范围与刻度 >> x=cos(2.*pi.*40.*t)+2*sin(2*pi*120*t)+rand(size(t);

30、 %产生含有噪声的序列>> window=boxcar(length(x); %矩形窗>> nfft=1024; %fft点数>> P,f=periodogram(x,window,nfft,Fs); %调用Psd函数>> plot(f,10*log10(P); %画出功率谱>> xlabel('频率'),ylabel('功率') %给x轴、y轴添加标签3.10.3 结果:如图3.10.1图3.10.1 功率谱图3.11 如图所示的电路,已知:, , , , , ,.如,求,;如已知,求,.3.11.1

31、 分析:解此题时先对电路进行分析,用回路法列出方程,然后用线性代数的求解方程组的方法进行求解即可。3.11.2 程序:问题(1): >> R1=2;R2=4;R3=12;R4=4;R5=12;R6=4;R7=2; >> Us=10;>> R11=R1+R2+R3;R12=-R3;R13=0;>> R21=-R3;R22=R3+R4+R5;R23=-R5;>> R31=0;R32=-R5;R33=R5+R6+R7;>> U1=Us;U2=0;U3=0;>> R=R11,R12,R13;R21,R22,R23;R3

32、1,R32,R33;>> U=U1;U2;U3;>> I=RU;>> Ia=I(1);Ib=I(2);Ic=I(3);>> i3=Ia-Ib,u4=R4*Ib,u7=R7*Ic 问题(2):>> R1=2;R2=4;R3=12;R4=4;R5=12;R6=4;R7=2;>> u4=6;Ib=u4./R4;>> R11=R1+R2+R3;R12=0;Us1=-1;>> R21=R3;R22=R5;Us2=0;>> R31=0;R32=R5+R6+R7;Us3=0;>> U1=I

33、b.*R3;U2=Ib.*(R3+R4+R5);U3=Ib.*R5;>> A=R11,R12,Us1;R21,R22,Us2;R31,R32,Us3;>> B=U1;U2;U3;>> C=AB;>> Ia=C(1);IC=C(2);Us=C(3);>> Us,i3=Ia-Ib,u7=R7*Ib3.11.3 结果:问题一如图3.11.1, 问题二如图3.11.2图3.11.2题11问题一结果及程序图图3.11.2题11问题二结果及程序图3.12 如图所示的电路,各元件参数已在图中标出,求i 及3.12.1 分析:解此题时先对电路进行分析

34、,用网孔法列出方程,通过整理列出线性方程组,然后用线性代数的求解方程组的方法进行求解即可。3.12.2 程序:>> R1=1;R2=0.2;R3=0.5;R4=1;R5=1;R6=0.5;>> R11=R1+R2;R12=-R2;R13=0;R14=0;>> R21=-R2;R22=R2+R3;R23=-R3;R24=0;>> R31=0;R32=-R3;R33=R3+R4+R5;R34=-R4;>> R41=0.3;R42=-0.3;R43=-1;R44=1.5;>> U1=2;U2=1;U3=-3;U4=-1; >>R=R11,R12,R13,R14;R21,R22,R23,R24;R31,R32,R33,R34;R41,R42, R43,R44;>> U=U1;U2;U3;U4;>> I=RU;>> i=I(2)-I(4),u2=(I(1)-I(2)*R23.12.3 结果:如图3.12.1图3.12.1 题12结果及程序图4 心得体会在这次课设之前,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论