Matlab第十章作业
MATLAB7.0使用详解-第10章 SIMULINK高级仿真技术
10.3.1
使能子系统(Enable Subsystem)
• 使能子系统(Enable Subsystem)将控制信号分 为允许(enable)和禁止(disenable)两种。当 控制信号为正时,即控制信号为允许状态,系统 可以执行使能子系统中的模块;否则就禁止模块 功能。
10.3.2 触发子系统(Triggered Subsystem)
10.2 子系统的封装
• 使用子系统技术可以很好的优化系统模型得界面,是系统 模型的可读性更强。在对系统进行仿真时,首先要对系统 模块参数进行设置,对子系统也是如此,需要对子系统所 有模块进行合适的参数设置。 • 在第8章的例子中,子系统中模块的参数是逐一设置的,这 会给用户带来极大的不便。子系统的封装技术则是对子系 统的包装,使其成为一个真正意义上的SIMULINK模块,通 过封装,可以简化模型,用户使用一个动态设置的对话框 代替多个静态对话框,省去了对子系统内部结构的了解, 为用户的直接调用提供了方便。 • 一个已经创建的子系统的封装方法主要是通过使用下图所 示的封装编辑器来实现的,在封装编辑器中用户可以设置 封装参数设置、图标、初始以及文本。归纳起来,即设定 子系统初始值及特性、生成模块图标以及创建模块帮助文 档和描述信息。
10.4 SIMULINK的模型调试
• 如同诸多系统设置平台一样,SIMULINK也具有界 面友好、功能强大的调试功能。SIMULINK提供了 一个图形化的调试界面,简化了调试操作。 simulink调试器是一个定位和诊断模型错误的工 具.通过SIMULINK调试工具,用户可以采用多种 方式对模型进行调试,发现其中可能存在的问题 并加以修改,从而使得用户的模型设计、仿真、 分析更加快速、便捷。
ቤተ መጻሕፍቲ ባይዱ
matlab作业第10章
10-2建立一个图形窗口,使之背景颜色为红色,并在窗口上保留原有的菜单项,而且在按下鼠标左键之后显示出Left Button Pressed 字样。
>> hf=figure('color','r','windowbuttondownfcn','axis off;text(0.1,0.5,''Left Button Pressed'',''fontsize'',30)')hf =110-3利用图形对象绘制下列曲线,要求先利用缺省属性绘制曲线,然后通过图形句柄操作来改变曲线的颜色、线型和线宽,并利用文字对象给曲线添加文字标注。
(1)4211x x y ++= x=0:0.1:10;y=((1+x.^2)/(1+x.^4));hf=plot(x,y);>> set(hf,'color','r','linestyle',':','marker','*','linewidth',1);(4)⎪⎩⎪⎨⎧==325ty t x >> t=0:2:100;>> x=t.*t;>> y=5*t.^3;>> hf=plot(x,y);>>set(hf,'color','b','linestyle',':','marker','p','linewidth',0.3);10-4利用图形对象绘制下列三维图形,要求与上题相同。
(1)⎪⎩⎪⎨⎧===t z t y t x sin cos>> t=0:0.1:2*pi;>> x=cos(t);>> y=sin(t);>> z=t;>> hf=plot3(x,y,z);z(4)3y>> x=0:1:50;>> y=0:1:50;>> z=y.^3;>> hf=plot3(x,y,z);。
第十章MATLAB的数值分析
• 第一个问题可归结为“已知函数在x0,x1,
– …,xn处的值,求函数在区间[x0,xn]内其它点处的值”,这 种问题适宜用插值方法解决。 – 插值问题可描述为:已知函数在x0,x1,…,xn处的值 y0,y1,…,yn,求函数p(x),使p(xi) = yi。
• 但对第二个问题不宜用插值方法,因为600米已超出所 给数据范围,用插值函数外推插值区间外的数据会 产生较大的误差。
– Q1=prctile(w,25); – Q3=prctile(w,75); – prctile( )函数实现计算样本的百分位数功能
分布形态的测定
• 只用集中趋势和离中趋势来表示所有数据,难免不 够准确。分析总体次数的分布形态有助于识别整个 总体的数量特征。总体的分布形态可以从两个角度 考虑,一是分布的对称程度,另一个是分布的高低。 前者的测定参数称为偏度或偏斜度,后者的测定参 数称为峰度。 • 峰度是掌握分布形态的另一指标,它能描述分布的 平缓或陡峭程度。如果峰度数值等于零,说明分布 为正态;若峰度数值大于零,说明分布呈陡峭状态; 若峰度数值小于零,说明分布形态趋于平缓。
– 解决第二个问题的常用方法是,根据地面到井下 500 处的 数据求出瓦斯浓度与地面到井下距离x之间的近似函数关 系f(x), 由f(x)求井下600米处的瓦斯浓度。
• 插值函数过已知点,拟合函数不一定过已知点。通 常, 插值主要用于求函数值,而拟合的主要目的是求 函数关系。当然,某些问题既可以用插值也可以用 拟合。
插值方法-概述
• 为什么需要插值?
(1) 函数关系y=f(x)没有明确的表达式
(2) y=f(x)表达式复杂,不便于研究和使用
-20 -15
沉陷量/mm 下沉方向为"+"
MATLAB作业
MATLAB作业⼀、必答题:1. MATLAB系统由那些部分组成?答:MATLAB系统主要由开发环境、MATLAB语⾔、MATLAB数学函数库、图形功能和应⽤程序接⼝五个部分组成。
2. 如何启动M⽂件编辑/调试器?答:在操作界⾯上选择“建⽴新⽂件”或“打开⽂件”操作时,M⽂件编辑/调试器将被启动。
在命令窗⼝中键⼊“edit”命令也可以启动M⽂件编辑/调试器。
3. 存储在⼯作空间中的数组能编辑吗?如何操作?答:存储在⼯作空间的数组可以通过数组编辑器进⾏编辑:在⼯作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输⼊修改内容即可。
4. 在MATLAB中有⼏种获得帮助的途径?答:在MATLAB中有多种获得帮助的途径:(1)帮助浏览器:选择view菜单中的Help菜单项或选择Help菜单中的MATLAB Help菜单项可以打开帮助浏览器;(2)help命令:在命令窗⼝键⼊“help” 命令可以列出帮助主题,键⼊“help 函数名”可以得到指定函数的在线帮助信息;(3)lookfor命令:在命令窗⼝键⼊“lookfor 关键词”可以搜索出⼀系列与给定关键词相关的命令和函数(4)模糊查询:输⼊命令的前⼏个字母,然后按Tab键,就可以列出所有以这⼏个字母开始的命令和函数。
5. 有⼏种建⽴矩阵的⽅法?各有什么优点?答:(1)以直接列出元素的形式输⼊;(2)通过语句和函数产⽣;(3).在m⽂件中创建矩阵;(4)从外部的数据⽂件中装⼊。
6. 命令⽂件与函数⽂件的主要区别是什么?答:命令⽂件: M⽂件中最简单的⼀种,不需输出输⼊参数,⽤M ⽂件可以控制⼯作空间的所有数据。
运⾏过程中产⽣的变量都是全局变量。
运⾏⼀个命令⽂件等价于从命令窗⼝中顺序运⾏⽂件⾥的命令,程序不需要预先定义,只要依次将命令编辑在命令⽂件中即可。
函数⽂件:如果M⽂件的第⼀个可执⾏⾏以function开始,便是函数⽂件,每⼀个函数⽂件定义⼀个函数。
第十章Matlab软件简介
第十章Matlab软件简介1984年,MathWorks公司把内核采用C语言编写的Matlab正式推向市场,Matlab的名称由Matrix(矩阵)和Laboratory(实验室)两词的前三个字母组合而成。
Matlab集数值分析、矩阵运算、符号运算及图形处理等强大功能于一体,且包含一系列规模庞大、覆盖不同领域的工具箱(Toolbox),再加上它简单易学、实用方便,从问世之初,就深受广大科技工作者的欢迎,现已成为许多学科领域中计算机辅助设计与分析、算法研究和应用开发的基本工具和首选平台。
在发达国家的理工科院校,Matlab已经成为一门必修课程,国内的许多高校也陆续开设有关Matlab的课程。
我们在这里简单介绍一下Matlab的一些基本功能,为学生深入学习Matlab奠定基础,并最终希望学生能从繁重的编程劳动中脱离出来,把主要精力放在建立数学模型的环节上。
§10.1 基本操作Matlab软件安装好之后,双击系统桌面的Matlab图标,或在开始菜单的程序选项中选择Matlab快捷方式,即开始启动Matlab。
初次启动Matlab后,将进入Matlab默认设置的桌面平台。
桌面平台包括主窗口、命令窗口、历史窗口、当前目录窗口和工作间管理窗口等窗口,我们这里主要介绍命令窗口和主窗口的一些较为简单的功能。
工作空间窗口命令窗口历史窗口Matlab命令窗口如上图所示,其中“>>”为运算提示符,表示Matlab正处在准备状态,等待操作者在此提示符右侧输入运算命令。
例如我们想计算[(1+2)X3—4)]÷2^3],只需在提示符“>>”后输入“((1+2)* 3-4)/2^3”,然后按Enter键(为书写方便,本章中的所有命令语句均用提示符“>>”开头,之后的按Enter键的动作用“↙”来表示),命令窗口马上就会出现算式的结果0.625 0(如图10—2),并出现新的提示符等待新的运算命令的输入。
中南大学matlab课后习题(10)
中南大学matlab课后习题(10)Unit 1实验内容1.答:用help命令可以查询到自己的工作目录。
输入help命令:help <函数名>2.答:MATLAB的主要优点:通过例1-1至例1-4的验证,MATLAB的优点是MATLAB以矩阵作为数据操作的基本单位,使得矩阵运算变得非常简捷,方便,高效。
还提供了丰富的数值计算函数。
MATLAB绘图十分方便,只需输入绘图命令,MATLAB便可自动绘出图形。
3.答:INV(X) is the inverse of the square matrix X。
A warning message is printed if X is badly scaled or nearly singular. PLOT(X,Y) plots vector Y versus vector X. If X or Y is a matrix, then the vector is plotted versus the rows or columns of the matrix, whichever line up. If X is a scalar and Y is a vector, length(Y) disconnected points are plotted. PLOT(Y) plots the columns of Y versus their index. If Y is complex, PLOT(Y) is equivalent to PLOT(real(Y),imag(Y)).In all other uses of PLOT, the imaginary part is ignored. For vectors, MAX(X) is the largest element in X. For matrices,MAX(X) is a row vector containing the maximum element from each column. For N-D arrays, MAX(X) operates along the first non-singleton dimension. [Y,I] = MAX(X) returns the indices of the maximum values in vector I. If the values along the first non-singleton dimension contain more than one maximal element, the index of the first one is returned. ROUND(X) rounds the elements of X to the nearest integers. MAX(X,Y) returns an array the same size as X and Y with the largest elements taken from X or Y. Either one can be a scalar。
(完整版)Matlab第十讲教案
西南科技大学本科生课程备课教案计算机技术在安全工程中的应用——Matlab入门及应用授课教师:徐中慧班级:专业:安全技术及工程第十章 MATLAB自定义函数课型:新授课教具:多媒体教学设备,matlab教学软件一、目标与要求✧通过解说与实例练习,掌握matlab创建函数M文件的方法✧掌握matlab中全局变量与局部变量的定义与用法✧通过解说与实例练习,掌握在matlab主函数M文件中创建子函数✧在实例练习过程中,回顾利用伪码编写简单程序的方法✧掌握通过创建matlab函数M文件解决生活中的计算问题二、教学重点与难点本堂课教学的重点在于引导学生掌握matlab中函数M文件的创建及应用。
本堂课的难点在于理解matlab中函数M文件主函数与子函数的区别及调用,局部变量与全局变量的定义与应用范围的区别。
三、教学方法本课程主要通过讲授法、演示法、练习法等相结合的方法来引导学生掌控本堂课的学习内容。
1)通过讲授法向学生讲述创建matlab函数M文件的基本方法、全局变量与局部变量的定义及用法等。
2)通过运用多媒体设备现场演示matlab创建函数M文件的应用实例。
3)在掌握创建matlab函数M文件基本方法的基础上,采用练习法引导学生创建函数M文件解决实际问题。
四、教学内容课后习题五(1)拉力测试装置在测试过程中,被测样本受均匀外力的作用产生形变。
下图中显示的是一组拉力测试数据。
根据以下公式计算应力与形变:00l l F A l σε-=和= 其中,σ是产生的应力,单位为lbf/in 2(psi);F 为施加的外力,单位为lbf;A 为样本的截面积,单位为in 2;ε为产生的形变,单位为in/in ;l 为样本的长度;0l 为样本的原始长度。
(a )测试样本是直径为0.505in 的金属杆,根据直径可以计算出金属杆的截面积,进一步利用所提供的数据计算金属杆的应力和形变。
(b )以形变为x 轴,应力为y 轴,作x-y 线图。
DSP Matlab作业(第5~10章)
MATLAB 作业MATLAB Excise For Chapter2M2.2、1、程序:function d=M2_2(N)n=-N:N;x1=sin(0.8*pi*n+0.8*pi);x2=5*cos(1.5*pi*n+0.75*pi)+4*cos(0.6*pi*n)-sin(0.5*pi*n);subplot(2,1,1)stem(n,x1,'filled');grid onxlabel('TIME index :n');ylabel('2.30(b)');subplot(2,1,2)stem(n,x2,'filled');grid onxlabel('TIME index :n');ylabel('2.30(e)');2、调用并运行:M2_2(10)M2.3、1、程序:function s=M2_3(A,omega,fai,N)n=0:N;x=A*sin(omega*n+fai);stem(n,x,'fill');grid onaxis([0,N,-2,2]);xlabel('Time index n');ylabel('Amplitude');2、调用并运行(a)、M2_3(1.5,0,pi/2,40)、M2_3(1.5,0.1*pi,pi/2,40)、M2_3(1.5,0.2*pi,pi/2,40)、M2_3(1.5,0.8*pi,pi/2,40)、M2_3(1.5,0.9*pi,pi/2,40)、M2_3(1.5,pi,pi/2,40)、M2_3(1.5,1.1*pi,pi/2,40)、M2_3(1.5,1.2*pi,pi/2,40)(b)、(1)omega=0.6*pi周期T=10;理论上:T=10 (2)omega=0.28*pi周期T=50;;理论上:T=50;(3)omega=0.45*pi周期T=40;理论上:T=40;(4)omega=0.55*pi周期T=40;理论上:T=40;(4)omega=0.65*pi周期T=40;理论上:T=40;M2.9、MATLAB Excise For Chapter3M3.3、调用程序program 3-1运行M3_3Number of frequency points = [1000]Numerator coefficients = 0.2418*[1 0.139 -0.3519 0.139 1] Denominator coefficients = [1 0.2386 0.8258 0.1393 0.4153]The plot of the program are shown in below:运行M3_3Number of frequency points = [1000]Numerator coefficients = 0.1397*[1 -0.0911 0.0911 -1] Denominator coefficients = [1 1.1454 0.7275 0.1205]The plot of the program are shown in below:M3.7、h=input('Type in the target sequence= ');%输入要计算群延时的序列N=input('Type in the group delay frequency point=');%输入要计算的群延时点n=0:(length(h)-1);H=fft(h,N);K=fft(n.*h,N);tao=real(K./H)运行M3-7M3_7Type in the target sequence= [1 1 2 0 0 6 3]Type in the group delay frequency point=8tao =4.0769 7.7221 4.6923 4.0556 9.0000 4.05564.6923 7.7221MATLAB Excise For Chapter5 M5.11、程序function d=M5_1(N)k1=-N:N;x1=ones(1,2*N+1);omega=0:pi/500:2*pi;X1=freqz(x1,1,omega);X1dft=fft(x1);n1=0:1:2*N;figure(1),plot(omega/pi,abs(X1),2*n1/(2*N+1),abs(X1dft),'ro') xlabel('\omega/\pi'),ylabel('Amplitude');k2=0:N;x2=ones(1,N+1);X2=freqz(x2,1,omega);X2dft=fft(x2);n2=0:1:N;figure(2),plot(omega/pi,abs(X2),2*n2/(N+1),abs(X2dft),'ro') xlabel('\omega/\pi'),ylabel('Amplitude');k3=k1;x3=1-(abs(k3)/N);X3=freqz(x3,1,omega);X3dft=fft(x3);n3=n1;figure(3),plot(omega/pi,abs(X3),2*n3/(2*N+1),abs(X3dft),'ro') xlabel('\omega/\pi'),ylabel('Amplitude');x4=N+1-abs(k3);X4=freqz(x4,1,omega);X4dft=fft(x4);figure(4),plot(omega/pi,abs(X4),2*n3/(2*N+1),abs(X4dft),'ro') xlabel('\omega/\pi'),ylabel('Amplitude');x5=cos(pi*k3/(2*N));X5=freqz(x5,1,omega);X5dft=fft(x5);figure(5),plot(omega/pi,abs(X5),2*n3/(2*N+1),abs(X5dft),'ro') xlabel('\omega/\pi'),ylabel('Amplitude');实现了problem3.19中5个序列的求DTFT和DFT2、调用程序运行结果M5_1(8)The red circles denote the DFT samples.当N=8时序列y1的DTFT和DFT采样当N=8时序列y2的DTFT和DFT采样当N=8时序列y3的DTFT和DFT采样当N=8时序列y4的DTFT和DFT采样当N=8时序列y5的DTFT和DFT采样M5.21、程序x=input('the sequence one to convolution;');y=input('the sequence two to convolution;');X=fft(x);Y=fft(y);S=X.*Y;s=ifft(S)2、调用程序M5_2the sequence one to convolution;[5,-2,2,0,4,3]the sequence two to convolution;[3,1,-2,2,4,4]s =10.0000 9.0000 16.0000 44.0000 36.0000 29.0000 M5_2M5_2the sequence one to convolution;[2-j,-1-j*3,4-j*3,1+j*2,3+j*2] the sequence two to convolution;[-3,2+j*4,-1+j*4,4+j*2,-3+j]s =11.0000 +25.0000i -9.0000 +48.0000i 3.0000 +17.0000i 29.0000 + 0.0000i -10.0000 +12.0000iProgram for (c)N=4;n=0:1:N;x=cos(pi*n/2);y=3.^n;X=fft(x);Y=fft(y);S=X.*Y;s=ifft(S)s =-23.0000 -69.0000 35.0000 105.0000 73.0000M5.81、程序X=[11 8-j*2 1-j*12 6+j*3 -3+j*2 2+j 15];k=8:12;XR(k)=conj(X(mod(-k+2,12)));XC=[X XR(k)];x=ifft(XC);n=0:1:11;x1=exp(i*2*pi*n/3);y=x1.*x;output=[x(1) x(7) sum(x) sum(y)];disp(output)disp(sum(x.*x))2、调用程序M5_84.5000 -0.8333 11.0000 -3.0000 - 2.0000i 74.8333MATLAB Excise For Chapter6M6.1(a)、The output of program6_1 by input the coefficient of problem (a)Numerator factors1.00000000000000 -2.10000000000000 5.000000000000001.00000000000000 -0.40000000000000 0.90000000000000Denominator factors1.000000000000002.00000000000000 4.999999999999991.00000000000000 -0.20000000000000 0.40000000000001Gain constant0.50000000000000Then ,The pole-zero plot of is given below:There are 3 ROCs associated with :R1,|z|<;R2,<|z|<; R3,|z|>The inverse –transform corresponding to the ROC is a left-sided sequence, the inverse–transform corresponding to the ROC is a two-sided sequence, and the inverse –transform corresponding to the ROC is a right-sided sequence.(b)、The output of program6_1 by input the coefficient of problem (b)Numerator factors1.00000000000000 1.20000000000000 3.999999999999991.00000000000000 -0.50000000000000 0.90000000000001Denominator factors1.000000000000002.10000000000000 4.000000000000011.00000000000000 0.60000000000003 01.00000000000000 0.39999999999997 0Gain constant1Then ,The pole-zero plot of is given below:There are 4 ROCs associated with :R1,|z|<R2,<|z|<; R3,<|z|<; R4,|z|>The inverse –transform corresponding to the ROC is a left-sided sequence, the inverse–transform corresponding to the ROC is a two-sided sequence, and the inverse –transform corresponding to the ROC is a right-sided sequence.M6.3The output of programme6_4 by type in:(a)M6_3Type in the residues = [-0.8,-7/6]Type in the poles = [-0.2,-1/6]Type in the constants = 3The output is as following:Numerator polynomial coefficients1.0333 0.7333 0.1000Denominator polynomial coefficients1.0000 0.3667 0.0333Hence(b)Rewrite X2(z)asM6_3Type in the residues = [3,-0.7+j*0.6454972243679,-0.7-j*0.6454972243679] Type in the poles = [-0.4,j*0.774596669,-j*0.774596669]Type in the constants = -2.5The output is as following:Numerator polynomial coefficients-0.9000 -2.5600 -0.1000 -0.6000Denominator polynomial coefficients1.0000 0.4000 0.6000 0.2400Hence,(c)M6_3Type in the residues = [5,1.5,-0.25]Type in the poles = [-0.64,-0.5,-0.5]Type in the constants = 0The output is as following:Numerator polynomial coefficients6.2500 6.5500 1.7300 0Denominator polynomial coefficients1.0000 1.6400 0.8900 0.1600Hence,(d)Rewrite X4(z)asM6_3Type in the residues = [-0.75,-0.375+j*0.2905,-0.375-j*0.2905] Type in the poles = [0.5,-j*0.4303,j*0.4303]Type in the constants = -5The output is as following:Numerator polynomial coefficients-4.5000 -6.8750 -3.6375 -0.8438Denominator polynomial coefficients1.0000 1.5000 0.7875 0.1688MATLAB Excise For Chapter7M7.31、程序k = input('Number of frequency points = ');num = input('Numerator coefficients = ');den = input('Denominator coefficients = ');w = 0:pi/(k-1):pi;h = freqz(num, den, w);plot (w,20*log10(abs(h)));gridxlabel('Normalized frequency'); ylabel('Gain, dB');2、调用M7_3运行结果如下M7_3Number of frequency points = 1000Numerator coefficients = [0,1,-2,1]Denominator coefficients = [1,-1.28,0.61+0.4*0.88,-(0.4*0.61)]From the gain response of the transfer function we can get that when the frequency become high and stable then we can conclude that this has a high pass responseM7.51、程序k = input('Number of frequency points = ');num = input('Numerator coefficients = ');den = input('Denominator coefficients = ');w = 0:pi/(k-1):pi;h = freqz(num, den, w);figure(1),plot(w/pi,abs(h));grid ontitle('Magnitude Spectrum')xlabel('\omega/\pi'); ylabel('Magnitude')figure(2),plot(w/pi,angle(h));grid ontitle('Phase Spectrum')xlabel('\omega/\pi'); ylabel('Phase, radians')2、调用M7_5运行结果如下M7_5Number of frequency points = 1000Numerator coefficients = 0.2031*[1,-(1+0.2743),1+0.2743,-1]Denominator coefficients =[1,0.487+0.1532,0.8351+0.83+0.1532*0.487+0.84,0.1532*0.84+0.487*0.8352,0.84*0.8351]Fro m the magnitude response plot given above it can be seen that represents a highpass filter. The difference equation representation of is given byy[n]+0.7074y[n-1]+0.7976y[n-2]+0.2004y[n-3]=0.2031x[n]-0.2588x[n-1]+0.2588x[n-2]-0.2031x[n-3]MATLAB Excise For Chapter9M9.21、程序Fp = input('Passband edge frequency in Hz = ');Fs = input('Stopband edge frequency in Hz = ');FT = input('Sampling frequency in Hz = ');Rp = input('Passband ripple in dB = ');Rs = input('Stopband minimum attenuation in dB = ');Wp = 2*Fp/FTWs = 2*Fs/FT[N, Wn] = buttord(Wp, Ws, Rp, Rs)[b, a] = butter(N, Wn);disp('Numerator polynomial');disp(b)disp('Denominator polynomial');disp(a)[h, w] = freqz(b, a, 512);figure(1),plot(w/pi, 20*log10(abs(h))); grid axis([0 1 -60 5]);xlabel('\omega/\pi'); ylabel('Magnitude, dB'); figure(2),plot(w/pi, unwrap(angle(h))); grid axis([0 1 -8 1]);xlabel('\omega/\pi'); ylabel('Phase, radians');2、调用M9_2运行结果如下M9_2Passband edge frequency in Hz = 10000Stopband edge frequency in Hz = 30000Sampling frequency in Hz = 100000Passband ripple in dB = 0.4Stopband minimum attenuation in dB = 50Wp =0.2000Ws =0.6000N =5Wn =0.2613Numerator polynomial0.0039 0.0197 0.0394 0.0394 0.0197 0.0039Denominator polynomial1.0000 -2.3611 2.6131 -1.5486 0.4864-0.0636M9.111、(a)TF=9kHZ,1pF=1.2kHZ,2pF=2.2kHZ,1sF=650HZ,2sF=3kHZ pα=0.8dB,sα=31dBThenTpp FF112πω==0.8378,Tpp FF222πω==1.536,Tss FF112πω==0.4538,Tss FF222πω==2.094According to bilinear transformation method :)2tan(11ppω=ΩΛ=0.445,)2tan(22ppω=ΩΛ=0.996,)2tan(11ssω=ΩΛ=0.231,)2tan(22s s ω=ΩΛ=1.731. ωB =2p ΛΩ—1p ΛΩ=0.521,s Ω=3.13程序[N, Wn] = cheb1ord(1, 3.13, 0.8, 31, 's');[B, A] = cheby1(N, 0.8, Wn, 's');[BT, AT] = lp2bp(B, A, sqrt(0.43), 0.521);[num, den] = bilinear(BT, AT, 0.5);[h, omega] = freqz(num, den, 256);plot(omega/pi, 20*log10(abs(h)));grid;xlabel('\omega/\pi'); ylabel('Gain,in dB');title('Chebyshev I Bandpass Filter');axis([0 1 -60 5]);2、调用M9_11运行结果如下MATLAB Excise For Chapter10M10.11、程序M1= input('M1= ');M2= input('M2= ');n1=-M1:0.5:M1;n2=-M2:0.5:M2;num1=-0.4*sinc(0.4*n1);num2=-0.4*sinc(0.4*n2);num1(M1+1)=0.6;num2(M2+1)=0.6;w1= 0:pi/(4*M1):pi;w2= 0:pi/(4*M2):pi;h1= freqz(num1, 1, w1);h2= freqz(num2, 1, w2);plot(w1/pi,abs(h1),w2/pi,abs(h2));grid ontitle('Magnitude Spectrum')xlabel('\omega/\pi'); ylabel('Magnitude')2、调用程序运行结果M10.51、程序N = 36;fc = 0.2*pi;M = N/2;n = -M:1:M;t = fc*n;lp = fc*sinc(t);b = 2*[lp(1:M) (lp(M+1) - 0.5) lp((M+2):N+1)]; bw = b.*hamming(N+1)';[h2, w] = freqz(bw, 1, 512);plot(w/pi, abs(h2));axis([0 1 0 1.2]);xlabel('\omega/\pi');ylabel('Magnitude');title(['\omega_c = ', num2str(fc), ', N = ', num2str(N)]);grid on 2、运行结果M10.81、程序wp = 4*(2*pi)/18;ws = 6*(2*pi)/18;wc = (wp + ws)/2;dw = ws - wp;% HammingM = ceil(3.32*pi/dw);N = 2*M+1;n = -M:M;num = (6/18)*sinc(6*n/18);wh = hamming(N)';b = num.*wh;figure(1);k=0:2*M;stem(k,b);title('Impulse Response Coefficients');xlabel('Time index n'); ylabel('Amplitude');figure(2);[h, w] = freqz(b,1,512);plot(w/pi, 20*log10(abs(h))); grid;xlabel('\omega/\pi'); ylabel('Gain, in dB');title('Lowpass filter designed using Hamming window');axis([0 1 -80 10]);% HannM = ceil(3.11*pi/dw);N = 2*M+1;n = -M:M;num = (6/18)*sinc(6*n/18);wh = hann(N)';b = num.*wh;figure(3);k=0:2*M;stem(k,b);title('Impulse Response Coefficients');xlabel('Time index n'); ylabel('Amplitude');figure(4);[h, w] = freqz(b,1,512);plot(w/pi, 20*log10(abs(h)));grid;xlabel('\omega/\pi');ylabel('Gain, in dB');title('Lowpass filter designed using Hann window'); axis([0 1 -80 10]);% BlackmanM = ceil(5.56*pi/dw);N = 2*M+1;n = -M:M;num = (6/18)*sinc(6*n/18);wh = blackman(N)';b = num.*wh;figure(5);k=0:2*M;stem(k,b);title('Impulse Response Coefficients');xlabel('Time index n'); ylabel('Amplitude');figure(6);[h, w] = freqz(b,1,512);plot(w/pi, 20*log10(abs(h)));grid;xlabel('\omega/\pi');ylabel('Gain, in dB');title('Lowpass filter designed using Blackman window'); axis([0 1 -80 10]);2、运行结果M10.91、程序beta = 3.631;N = 44;n = -N/2:N/2;num = (6/18)*sinc(6*n/18);wh = kaiser(N+1,beta)';b = num.*wh;figure(1);stem(b);title('Impulse Response Coefficients');xlabel('Time index n');ylabel('Amplitude')figure(2);[h, w] = freqz(b,1,512);plot(w/pi, 20*log10(abs(h)));grid;xlabel('\omega/\pi');ylabel('Gain, in dB');title('Lowpass filter designed using Kaiser window'); axis([0 1 -80 10]);2、运行结果。
数字图像处理与机器视觉-基于MATLAB实现 第10章 图像识别基础
• 以数据聚类的监督学习方法; • 以统计分类的无监督学习方法; • 通过对基本单元判断是否符合某种规则的结构模式识别方法; • 可同时用于监督或者非监督学习的神经网络分类法。 1.线性判用一条直线来划分已有的学 习集的数据,然后根据待测点在直线的那一边决定的分类。如下图可以做出一条直线来 划分两种数据的分类。但是一般情况下的特征数很多,想降低特征数维度。可以通过投 影的方式进行计算。然而使得一个多维度的特征数变换到一条直线上进行计算。可以减 少计算工作的复杂度。
10.2 模式识别方法
c.对称连接网络 对称连接网络有点像循环网络,但是单元之间的连接是对称的(它们在两个方向上 权重相同)。比起循环网络,对称连接网络更容易分析。这个网络中有更多的限制,因 为它们遵守能量函数定律。没有隐藏单元的对称连接网络被称为“Hopfield 网络”。有 隐藏单元的对称连接的网络被称为“玻尔兹曼机” 。 神经网络可以看成是从输入空间到输出空间的一个非线性映射,它通过调整权重和 阈值来“学习”或发现变量间的关系,实现对事物的分类。由于神经网络是一种对数据 分布无任何要求的非线性技术,它能有效解决非正态分布和非线性的评价问题,因而受 到广泛的应用。由于神经网络具有信息的分布存储,并行处理及自学习能力等特点,它 在泛化处理能力上显示出较高的优势。
模式识别是指对表征事物或现象的各种形式的(数值的、文字的和逻辑关系的)信息进行 处理和分析,以对事物或现象进行描述、辨认、分类和解释的过程,是信息科学和人工智 能的重要组成部分。
基于监督学习的模式识别系统由4大部分组成,即待识别对象、预处理、特征提取和分 类识别,如图10-1所示。
图10-1 模式识别流程图
matlab教材习题答案
matlab教材习题答案Matlab是一种广泛应用于科学与工程领域的计算机编程语言和环境。
它具备强大的数值计算和数据可视化功能,被广泛用于数据分析、信号处理、图像处理、机器学习等领域。
对于初学者而言,掌握Matlab的基本语法和常用函数是非常重要的,而教材习题则是帮助学生巩固所学知识的重要资源。
本文将为大家提供一些Matlab教材习题的参考答案,以帮助读者更好地学习和应用Matlab。
1. 基本语法练习题1.1 计算并输出1到10的平方for i = 1:10fprintf('%d的平方是:%d\n', i, i^2);end1.2 计算并输出1到10的阶乘for i = 1:10fact = 1;for j = 1:ifact = fact * j;endfprintf('%d的阶乘是:%d\n', i, fact);end2. 数值计算练习题2.1 求解一元二次方程的根a = 1;b = -3;c = 2;delta = b^2 - 4*a*c;x1 = (-b + sqrt(delta))/(2*a);x2 = (-b - sqrt(delta))/(2*a);fprintf('一元二次方程的根为:%f, %f\n', x1, x2);2.2 求解线性方程组的解A = [1 2; 3 4];B = [5; 6];X = inv(A) * B;fprintf('线性方程组的解为:%f, %f\n', X(1), X(2));3. 数据处理练习题3.1 统计一个数组中的最大值、最小值和平均值data = [1, 2, 3, 4, 5];max_value = max(data);min_value = min(data);average_value = mean(data);fprintf('最大值:%f\n最小值:%f\n平均值:%f\n', max_value, min_value, average_value);3.2 对一个矩阵进行排序matrix = [4 2 3; 1 5 6; 9 8 7];sorted_matrix = sort(matrix);fprintf('排序后的矩阵为:\n');disp(sorted_matrix);4. 图像处理练习题4.1 读取并显示一张图片image = imread('image.jpg');imshow(image);4.2 对一张图片进行灰度化处理gray_image = rgb2gray(image);imshow(gray_image);5. 信号处理练习题5.1 生成并绘制正弦信号t = 0:0.01:2*pi;x = sin(t);plot(t, x);5.2 对一段音频信号进行傅里叶变换[y, fs] = audioread('audio.wav');Y = fft(y);plot(abs(Y));通过以上几个例子,我们可以看到Matlab的强大功能和灵活性。
第10章MATLAB特征值与特征向量的计算
第10章MATLAB特征值与特征向量的计算MATLAB是一种非常强大的数值分析和科学计算工具,可以用于计算矩阵的特征值和特征向量。
特征值和特征向量是矩阵分析中非常重要的概念,具有广泛的应用。
在MATLAB中,计算矩阵的特征值和特征向量有多种方法。
下面将介绍其中两种常用的方法。
一种方法是使用eig函数。
该函数可以计算矩阵的特征值和特征向量。
用法如下:```MATLAB[A, D] = eig(B)```其中,B是要计算特征值和特征向量的矩阵,A是一个由特征向量组成的矩阵,D是一个由特征值组成的对角矩阵。
特征值和特征向量的对应关系是D的对角线上的值与A的列是一一对应的。
另一种方法是使用eigs函数。
该函数可以计算矩阵的部分特征值和特征向量。
用法如下:```MATLAB[V, E] = eigs(A, k)```其中,A是要计算特征值和特征向量的矩阵,k是要计算的特征值和特征向量的数量。
这两种方法的计算结果是一样的,只是使用的方法略有不同。
eig函数计算所有的特征值和特征向量,而eigs函数只计算部分特征值和特征向量。
计算矩阵的特征值和特征向量在很多领域中都有重要的应用。
例如,在图像处理中,特征值和特征向量可以用于图像压缩和识别;在控制系统中,特征值和特征向量可以用于分析系统的稳定性和性能等。
虽然MATLAB提供了方便的函数来计算特征值和特征向量,但在实际应用中,需要注意以下几点:1.确保输入的矩阵是方阵,否则将无法计算特征值和特征向量。
2.需要注意计算所得的特征值和特征向量的精度。
MATLAB中的计算结果可能存在误差,因此在应用中需要进行适当的误差处理。
3.特征值和特征向量的计算量较大,如果矩阵的维度较大,可能会导致计算时间过长。
对于大规模问题,可以考虑使用近似方法来计算特征值和特征向量。
总之,MATLAB提供了方便的函数来计算矩阵的特征值和特征向量,这对于很多领域的数值分析和科学计算都非常有用。
在使用这些函数时,需要注意输入矩阵的维度和计算结果的精度,并选择适当的方法来计算特征值和特征向量。
MATLAB实用教程(第2版)第十章外部接口
m=eye(3)
m=
100
010
001
● 可以将M-book文档像Word文件一样保存,以便今后查看和
修改。
6
2.Notebook使用中应该注意的问题。 ● M-book文档中的MATLAB代码必须在英文状态下输入。 ● 带鼠标操作交互的代码最好不在M-book文档中运行。 ● Windows是一种多任务操作系统。但在运行M-book文档时
● 新建一个M-book。
● 输入m=eye(3),并定义为输入细胞,再运行它,可以在M-
book中看到如下内容:
m=eye(3)
m=
100
010
001
● 继续输入“除0测试”且按回车键,再输入m/0,并定义
m/0为输入细胞且运行,可以在M-book中看到如下内容:
m=eye(3)
m=
100
010
001
10
10.2 编 译 器
MATLAB编译器是指将M文件作为其输入,同时生成独立的 可执行文件或相关软件组件的程序,它可以由命令mcc调出。 10.2.1 编译器概述
MATLAB编译器8.0版本采用了MATLAB Component Runtime (MCR)技术,它是用来保证M文件执行的独立共享库。MCR提 供了对MATLAB语言的完全支持。除此之外,MATLAB编译器还 采用了Component Technology File(CTF)存档来组织配置 文件包。所有的M文件均采用了高级加密标准(AES)进行了 密钥为1024位的加密,保存为CTF格式。每一个由MATLAB编译 器生成的应用程序或者共享库均有一个与之相对应的CTF存档 。
7
● M-book文档的代码运行速度要比在MATLAB命令窗口中执行 慢很多。
matlab课后习题答案刘
matlab课后习题答案刘MATLAB课后习题答案刘在本学期的MATLAB课程中,我们学习了MATLAB的基础知识和一些高级功能。
为了帮助同学们更好地复习和巩固所学知识,以下是针对课后习题的一些参考答案。
1. 向量和矩阵的基本操作- 创建一个3x3的单位矩阵。
```matlabA = eye(3);```- 计算矩阵A和B的乘积,其中B是A的转置。
```matlabB = A';C = A * B;```2. 条件语句和循环- 编写一个循环,打印出1到10的所有奇数。
```matlabfor i = 1:2:10disp(i);end```- 编写一个条件语句,检查一个数是否为素数。
```matlabfunction isPrime(n)if n <= 1isPrime = false;elsefor i = 2:sqrt(n)if mod(n, i) == 0isPrime = false;return;endendisPrime = true;endend```3. 函数和脚本- 编写一个函数,计算给定半径的圆的面积。
```matlabfunction area = circleArea(radius)area = pi * radius^2;end```- 编写一个脚本来调用上述函数,并打印出半径为5的圆的面积。
```matlabradius = 5;disp(['Area of circle with radius ', num2str(radius), ' is ', num2str(circleArea(radius))]);```4. 数据结构和文件I/O- 读取一个文本文件中的数据到一个cell数组。
```matlabfilename = 'data.txt';fileID = fopen(filename, 'r');data = textscan(fileID, '%s');fclose(fileID);```- 将一个矩阵写入到一个CSV文件中。
Matlab 课后习题集
Matlab程序设计课程实验目录Matlab操作实验(第1章)实验指导思考练习矩阵运算实验(第2章)实验指导思考练习程序设计实验(第3章)实验指导思考练习高级绘图实验(第4章)实验指导思考练习数据分析与多项式计算实验(第5章)实验指导思考练习解方程与最优化问题求解实验(第6章)实验指导思考练习数值运算实验(第7章)实验指导思考练习符号实验(第8章)实验指导思考练习图形句柄实验(第9章)实验指导思考练习图形用户界面设计实验(第10章)实验指导思考练习Simulink动态仿真实验(第11章)实验指导思考练习外部接口技术实验(第12章)实验指导思考练习1、Matlab操作实验一、实验内容1. 第一章实验内容1:path(path,’系统盘名:\matlab文件名\要添加的文件名’)如:path(path,’c:\matlab701\my work’)实验内容-2例1-1:x=[0:0.5:360]*pi/180;plot(x,sin(x),x,cos(x));例1-2p=[3,7,9,0,-23];x=roots(p)例1-3quad(‘x.*log(1+x)’,0,1)例1-4:实验内容3Help 函数名如:help inv help plot等实验内容4(1)x=0:pi/10:2*pi;y=sin(x);二、思考练习思考题1启动:有三种常见方法,(1)、在Windows桌面,单机任务栏上的‚开始‛按钮,选择‚所有程序‛菜单项,然后选择MATLAB程序组中的MATLAB (版本号)程序选项,即可启动。
(2)、在MATLAB的安装路径中找到MATLAB系统启动程序matlab.exe,然后运行它。
(3)、利用建立快捷方式功能,将MATLAB系统启动程序以快捷方式的形式放在Windows桌面上,以后只要在桌面上双击该图标即可启动MATLAB。
关闭:常见的也有3种方法,(1)、在MATLAB主窗口file菜单中选择exit MATLAB命令。
通信原理MATLAB仿真教程第十章 扩频通信系统
图 10-3 相干检测原理图
18
图 10-4 相干参考信号产生原理图 本地参考信号是由锁相环路产生的,如 10-4 所示。用一个振荡器,其 频率与输入信号频率相近, 把它的相位与输入信号相位作比较(可以用鉴相 器实现),获得的误差电压称为误差信号,此误差信号经滤波平滑后,再作 用于振荡器,以不断纠正它的相位与输入信号的误差,于是这个受输入电 压控制的振荡器的输出振荡的相位,就逐渐逼近于输入信号的相位,达到 同频、同相的结果,它们之间近似的程度取决于跟踪误差。
N 1
c g
n n0
ห้องสมุดไป่ตู้
c
(t nTc )
(10-4)
式中, n 为伪随机码码元, c 取值 1 或 1 ; c (t ) 为门函数, g 定义与式(10-3) 类似。 扩频过程实质上是信息流 a t 与伪随机序列 c t 的模二加或相乘的过 程,伪随机码速率 Rc 比信息速率 Rd 大的多,一般 Rc / Rd 的比值为整数且 远大于 1 ,所以 扩展后 的序列 的速率 仍为伪 随机码 速率 Rc ,扩展的 序列
(10-8)
14
式中信号为 s (t ) ,信道噪声为 n(t ) ,干扰信号为 J (t ) ,其它网的扩频信 o 号为 s (t ) 。 J 对于信号分量为 s (t ) o
s ( t ) a ( t ) c( t ) c( t ) cos I t o
(10-9)
其中 I 为中频频率,若 本地产生的伪 随机序列 c(t ) 与发端产生的伪随机 序列 c (t ) 同步,有 c (t ) c(t ) ,则 c (t ) c(t ) 1 ,这样信号分量 s (t ) 为 o
MATLAB习题答案(清华大学)
高等应用数学问题MATLAB 求解习题参考解答(薛定宇著)目录第1 章计算机数学语言概述2第2 章MATLAB 语言程序设计基础5第3 章微积分问题的计算机求解17第4 章线性代数问题的计算机求解29第5 章积分变换与复变函数问题的计算机求解43第6 章代数方程与最优化问题的计算机求解53第7 章微分方程问题的计算机求解71第8 章数据插值、函数逼近问题的计算机求解93第9 章概率论与数理统计问题的计算机求解114第10 章数学问题的非传统解法127第A章自由数学语言Scilab 简介136第1 章计算机数学语言概述1 在你的机器上安装MATLAB 语言环境,并键入demo 命令,由给出的菜单系统和对话框原型演示程序,领略MATLAB 语言在求解数学问题方面的能力与方法。
【求解】在MATLAB 提示符>> 下键入demo 命令,则将打开如图1-1 所示的窗口,窗口左侧的列表框可以选择各种不同组合的演示内容。
图1-1 MATLAB 演示程序界面例如,用户选择MATLAB ! Graphics ! Volume Vlsulization 演示,则将得出如图1-2 所示的演示说明,单击其中的Run this demo 栏目,则将得出如图1-3 所示的演示界面。
用户可以在该界面下按按钮,逐步演示相关内容,而实现这样演示的语句将在该程序界面的下部窗口中给出。
2 作者用MATLAB 语言编写了给出例子的源程序,读者可以自己用type 语句阅读一下源程序,对照数学问题初步理解语句的含义,编写的源程序说明由下表列出。
第1 章计算机数学语言概述3图1-2 MATLAB 演示程序界面举例序号文件名程序说明例1.1 c1ex1.m 利用MATLAB 的符号运算工具箱求解微分问题例1.2 c1ex2.m 分别利用MATLAB 的符号运算工具箱和数值运算功能求解多项式方程,其中用数值方法得出的结果有误差例1.3 c1ex3.m 分别利用MATLAB 的符号运算工具箱和数值运算功能计算Hilbert 矩阵的行列式,其中用数值方法得出的结果有很大误差例1.4 c1ex4.m 令x1 = y; x2 = y_,则可以将原来的二阶微分方程转换成一阶微分方程组,然后就可以求解微分方程的数值解了,原方程是非线性微分方程,故不存在解析解。
matlab习题第十章
第十章实验指导1. screen=get(0,'screensize');W=screen(3);>> H=screen(4);>> figure('position',[0.2*H,0.2*H,0.5*W,0.3*H],'Name','设计菜单','numbertitle','off','menubar','none');aa=['new item'];bb=[‘open item’];cc=[‘save item’];dd=[‘help item’];hfile=uimenu(gcf,'label','&File');)uimenu(hfile,'label','new','call',msgbox(aa,'Title'),'set(save,''enab le'',''off'')');uimenu(hfile,’label’,’open’,’call’,msgbox(bb,’Title’),set(sav e,’’enable’’,’’off’’)’);uimenu(hfile,’lable’,’save’,’call’,msgbox(cc,’Title’)); uimenu(gcf,’lable’,’&Exit’,’call’,close(gcf));hhelp=uimenu(gcf,’label’,’&Help’);uimenu(hhelp,’label’,’about,’’call’,msgbox(dd,’Title’),’set( save,’’enable’’,’’on’’))2、pdstart=uicontrol(gcf,'style','push','position',...[50,5,60,25],'string','start plot',...'callback','t=-pi:pi/20:pi;plot(t,t.*t)');ptgrid=uicontrol(gcf,'style','toggle','position',...[150,5,60,25],'string','grid','callback','grid');htxt=uicontrol(gcf,'style','text','string',...'color options','position',[200,130,150,20]);hr=uicontrol(gcf,'style','radio','string',...'red','position',[200,100,150,25],'value',1,...'callback',['set(hr,''value'',1);','set(hb,''value'',0);',...'set(hy,''value'',0);','set(plot(t,t.*t),''color'',''R'')']);hb=uicontrol(gcf,'style','radio','string',...'blue','position',[200,75,150,25],'value',1,...'callback',['set(hb,''value'',1);','set(hr,''value'',0);',...'set(hy,''value'',0);','set(plot(t,t.*t),''color'',''B'')']);hy=uicontrol(gcf,'style','radio','string',...'yellow','position',[200,50,150,25],'value',1,...'callback',['set(hy,''value'',1);','set(hr,''value'',0);',...'set(hb,''value'',0);','set(plot(t,t.*t),''color'',''Y'')']);3、function varargout = duoxiangshiqiugen(varargin)% DUOXIANGSHIQIUGEN MATLAB code for duoxiangshiqiugen.fig% DUOXIANGSHIQIUGEN, by itself, creates a new DUOXIANGSHIQIUGEN or raises the existing% singleton*.%% H = DUOXIANGSHIQIUGEN returns the handle to a new DUOXIANGSHIQIUGEN or the handle to% the existing singleton*.%% DUOXIANGSHIQIUGEN('CALLBACK',hObject,eventData,handles,...) calls the local% function named CALLBACK in DUOXIANGSHIQIUGEN.M with the given input arguments.%% DUOXIANGSHIQIUGEN('Property','Value',...) creates a new DUOXIANGSHIQIUGEN or raises the% existing singleton*. Starting from the left, property value pairs are % applied to the GUI before duoxiangshiqiugen_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to duoxiangshiqiugen_OpeningFcn via varargin. %% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one% instance to run (singleton)".%% See also: GUIDE, GUIDATA, GUIHANDLES% Edit the above text to modify the response to help duoxiangshiqiugen% Last Modified by GUIDE v2.5 28-May-2014 09:58:02% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct('gui_Name', mfilename, ...'gui_Singleton', gui_Singleton, ...'gui_OpeningFcn', @duoxiangshiqiugen_OpeningFcn, ...'gui_OutputFcn', @duoxiangshiqiugen_OutputFcn, ...'gui_LayoutFcn', [] , ...'gui_Callback', []);if nargin && ischar(varargin{1})gui_State.gui_Callback = str2func(varargin{1});endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});elsegui_mainfcn(gui_State, varargin{:});end% End initialization code - DO NOT EDIT% --- Executes just before duoxiangshiqiugen is made visible.function duoxiangshiqiugen_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn.% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% varargin command line arguments to duoxiangshiqiugen (see VARARGIN)% Choose default command line output for duoxiangshiqiugenhandles.output = hObject;% Update handles structureguidata(hObject, handles);% UIWAIT makes duoxiangshiqiugen wait for user response (see UIRESUME)% uiwait(handles.figure1);% --- Outputs from this function are returned to the command line.function varargout = duoxiangshiqiugen_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT);% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Get default command line output from handles structurevarargout{1} = handles.output;function edit1_Callback(hObject, eventdata, handles)% hObject handle to edit1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of edit1 as text% str2double(get(hObject,'String')) returns contents of edit1 as a double% --- Executes during object creation, after setting all properties.function edit1_CreateFcn(hObject, eventdata, handles)% hObject handle to edit1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');end% --- Executes on button press in pushbutton1.function pushbutton1_Callback(hObject, eventdata, handles)% hObject handle to pushbutton1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)com1=get(handles.edit1,'string');A=str2mat(com1);a=str2num(A)X=roots(a)set(handles.edit2,'string',num2str(X));function edit2_Callback(hObject, eventdata, handles)% hObject handle to edit2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of edit2 as text% str2double(get(hObject,'String')) returns contents of edit2 as a double% --- Executes during object creation, after setting all properties.function edit2_CreateFcn(hObject, eventdata, handles)% hObject handle to edit2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction varargout = jizuobiaoquxian(varargin)% JIZUOBIAOQUXIAN MATLAB code for jizuobiaoquxian.fig% JIZUOBIAOQUXIAN, by itself, creates a new JIZUOBIAOQUXIAN or raises the existing% singleton*.%% H = JIZUOBIAOQUXIAN returns the handle to a new JIZUOBIAOQUXIAN or the handle to% the existing singleton*.%% JIZUOBIAOQUXIAN('CALLBACK',hObject,eventData,handles,...) calls the local% function named CALLBACK in JIZUOBIAOQUXIAN.M with the given input arguments.%% JIZUOBIAOQUXIAN('Property','Value',...) creates a new JIZUOBIAOQUXIAN or raises the% existing singleton*. Starting from the left, property value pairs are % applied to the GUI before jizuobiaoquxian_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to jizuobiaoquxian_OpeningFcn via varargin. %% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)".%% See also: GUIDE, GUIDATA, GUIHANDLES% Edit the above text to modify the response to help jizuobiaoquxian% Last Modified by GUIDE v2.5 28-May-2014 09:55:56% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct('gui_Name', mfilename, ...'gui_Singleton', gui_Singleton, ...'gui_OpeningFcn', @jizuobiaoquxian_OpeningFcn, ...'gui_OutputFcn', @jizuobiaoquxian_OutputFcn, ...'gui_LayoutFcn', [] , ...'gui_Callback', []);if nargin && ischar(varargin{1})gui_State.gui_Callback = str2func(varargin{1});endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});elsegui_mainfcn(gui_State, varargin{:});end% End initialization code - DO NOT EDIT% --- Executes just before jizuobiaoquxian is made visible.function jizuobiaoquxian_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn.% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% varargin command line arguments to jizuobiaoquxian (see VARARGIN)% Choose default command line output for jizuobiaoquxianhandles.output = hObject;% Update handles structureguidata(hObject, handles);% UIWAIT makes jizuobiaoquxian wait for user response (see UIRESUME)% uiwait(handles.figure1);% --- Outputs from this function are returned to the command line.function varargout = jizuobiaoquxian_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT);% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Get default command line output from handles structurevarargout{1} = handles.output;% --- Executes on button press in pushbutton1.function pushbutton1_Callback(hObject, eventdata, handles)% hObject handle to pushbutton1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)com1=get(handles.edit1,'string');com2=get(handles.edit2,'string');com3=get(handles.edit3,'string');A=str2mat(com1);B=str2mat(com2);C=str2mat(com3);a=str2num(A);b=str2num(B);n=str2num(C);th=0:0.01:pi;polar(th,a*cos(b+th*n))axis([-5,5,-20,20]);hold onfunction edit1_Callback(hObject, eventdata, handles)% hObject handle to edit1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of edit1 as text% str2double(get(hObject,'String')) returns contents of edit1 as a double% --- Executes during object creation, after setting all properties. function edit1_CreateFcn(hObject, eventdata, handles)% hObject handle to edit1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction edit2_Callback(hObject, eventdata, handles)% hObject handle to edit2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of edit2 as text% str2double(get(hObject,'String')) returns contents of edit2 as a double% --- Executes during object creation, after setting all properties. function edit2_CreateFcn(hObject, eventdata, handles)% hObject handle to edit2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction edit3_Callback(hObject, eventdata, handles)% hObject handle to edit3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of edit3 as text% str2double(get(hObject,'String')) returns contents of edit3 as a double% --- Executes during object creation, after setting all properties. function edit3_CreateFcn(hObject, eventdata, handles)% hObject handle to edit3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');end5、思考练习1.图形用户界面,就是把所需要的M文件,编程一个可以和用户交互的界面程序,这样看起来更直观的一种呈现方式。
matlab数学实验答案第十章
1.>> f=[-3,4,-2,5];A=[1 1 3 -1;2 -3 1 -2];>> b=[14;-2];>> Aeq=[4 -1 2 -1];Beq=-2;lb=zeros(3,1);>> [x,feval]=linprog(f,A,b,Aeq,Beq,lb) Optimization terminated.x =0.00008.00000.0000-6.0000feval =2.00002.>> f=[5;4;8];A=[2 -1 0;5 3 0];b=[4;15];>> Aeq=[1 2 1];Beq=6;lb=zeros(3,1);>> [x,feval]=linprog(f,A,b,Aeq,Beq,lb) Optimization terminated.x =0.00003.00000.0000feval =12.00003.M文件>> A=[1 1 0 0 0 0 0 0 0 0 0;1 -0.06 1 1 0 0 0 0 0 0 0 ;-0.15 -0.06 1 1 1 1 1 1 0 0 0 ;-0.15 -0.06 -0.15 1 -0.06 1 1 -0.06 1 1 0 ;-0.15 -0.06 -0.15 1 -0.06 1 1 -0.06 1 -0.06 1;0 0 0 1 -0.06 -0.15 1 0 0 0 0;0 0 0 1 0 0 1 0 0 0 0];>> b=[10;10;10;10;10;3;4];>> f=[0;0;0;-1.40;0;0;-1.25;0;-1.14;0;-1.06];>> lb=[0;0;0;0;0;0;0;0;0;0;0];>> ub=[10;10;10;10;10;10;10;10;10;10;10];>> [x,fval,exitflag,output,lambda]=linprog(f,A,b,[],[],lb,ub) Optimization terminated.x =6.73163.26840.00003.46457.74140.00000.00000.00008.20580.00000.0000fval =-14.2049五年末拥有的资金金额总额最大为 14.20494.>> f=[-30;-40];A=[20 100;40 80;90 60];>> b=[200;200;360];>> [x,feval]=linprog(f,A,b,[],[],[0;0])Optimization terminated.x =3.50000.7500feval =-135.00005.>> f=[-7000;-12000];A=[9 5;4 5;3 10];b=[360;200;300]; >> [x,feval]=linprog(f,A,b)Optimization terminated.x =20.000024.0000feval =-4.2800e+0056.>> f=[10,5,6,4,8,12];>> A=[-1 -1 -1 0 0 0;0 0 0 -1 -1 -1; -1 0 0 -1 0 0 ; 0 -1 0 0 -1 0 ;0 0 -1 0 0 -1]; >> b=[-60;-100;-50;-70;-40];>> Aeq=[];>> beq=[]; vlb=zeros(6,1);vub=[];>> [x,fval]=linprog(f,A,b,Aeq,beq,vlb,vub)Optimization terminated.x =0.000020.000040.000050.000050.00000.0000fval =940.00007.>> f=[8400;7500;6700];>> A=[60 65 80;-3800 -3500 -2500];>> b=[70 ;-2900];>> Aeq=[1 1 1];>> beq=1;>> lb=[0 0 0];>> ub=[inf inf inf];>> [x,fval]=linprog(f,A,b,Aeq,beq,lb,ub)Optimization terminated.x =0.00000.66670.3333fval =7.2333e+0038.>> f=[-1;-2;1;-1;-4;2];>> A=[1 1 1 1 1 1;2 1 -2 1 0 0;0 0 1 1 2 1];>> b=[6;4;4];>> lb=zeros(6,1);>> [x,fval]=linprog(f,A,b,[],[],lb)Optimization terminated.x =0.00004.00000.00000.00002.00000.0000fval =-16.000010.建立M函数fun44.mfunction f=fun44(x)f=-(sqrt(x(1))+sqrt(x(2))+sqrt(x(3))+sqrt(x(4))); 建立M函数myconl.mfunction [g,ceq]=mycon1(x)g(1)=x(1)-400;g(2)=1.1*x(1)+x(2)-440;g(3)=1.21*x(1)+1.1*x(2)+x(3)-484;g(4)=1.331*x(1)+1.21*x(2)+1.1*x(3)+x(4)-532.4;ceq=0command窗口>> x0=[1;1;1;1];>> vlb=[0;0;0;0];vub=[];>> A=[];b=[];Aeq=[];beq=[];>>[x,fval]=fmincon('fun44',x0,A,b,Aeq,beq,vlb,vub,'mycon1') 12.function f=fmb(x)f=-x(1)*x(2)*x(3);>> A=[1 -2 -2;1 2 2];b=[0;72];>> lb=[-inf;10;-inf];ub=[inf;20;inf];>> Aeq=[1 -1 0];Beq=10;>> [x,feval]=fmincon(@fmb,[20,10,0],A,b,Aeq,Beq,lb,ub,[])x =22.5850 12.5850 12.1225feval =-3.4456e+003。
Matlab第十章作业
Matlab 第十章作业10.4考虑一个单位负反馈控制系统,其前向通道传递函数为:)5s (s 1)s (G 20+=试应用Bode 图法设计一个超前校正装置)11()(++=Ts Ts K s G c c αα 使得校正后系统的相角裕度 50=γ,幅值裕度dB 10K g ≥,带宽s /rad 2~1b =ω。
其中,10<<α。
试问已校正系统的谐振峰值r M 和谐振角频率r ω的值各为多少?解: ① 先建立超前校正函数fg_lead_pm (wc 未知)函数语句如下function [ngc,dgc]=fg_lead_pm(ng0,dg0,Pm,w)[mu,pu]=bode(ng0,dg0,w);[gm,pm,wcg,wcp]=margin(mu,pu,w);alf=ceil(Pm-pm+5);phi=(alf)*pi/180;a=(1+sin(phi))/(1-sin(phi)) ;a1=1/a%求参数αdbmu=20*log10(mu);mm=-10*log10(a);wgc=spline(dbmu,w,mm);T=1/(wgc*sqrt(a));ngc=[a*T,1]; dgc=[T,1];② 建立M 文件l104其语句如下ng0=[1];dg0=conv([1,0],conv([1,0],[1,5]));t=[0:0.01:5]; w=logspace(-3,2);g0=tf(ng0,dg0)b1=feedback(g0,1)%校正前系统闭环传函[gm,pm,wcg,wcp]=margin(g0)%校正前参数Pm=50;[ng1,dg1]=fg_lead_pm(ng0,dg0,Pm,w);%利用超前校正进行校正g1=tf(ng1,dg1);%校正环节传递函数g2=g0*g1;%校正后前向通道传函[gm1,pm1,wcg1,wcp1]=margin(g2)%校正后系统参数km1=20*log(gm1)%校正后系统幅值裕度工程表示b2=feedback(g2,1);%校正后系统闭环传函bode(b2)[mag,phase,w]=bode(b2);%对校正后系统闭环传函bode图进行离散化figure, bode(g0,'r--',g1,'b--',g2,'g',w), grid on;Mr=max(mag)%求取Mra=find(mag==Mr);%求Mr对应的脚标wr=w(a)%求wrb=find(mag<=0.707*mag(1));%求幅值小于0.707倍零频幅值的脚标所组成的数组wb=w(b(1))%求wb③在命令窗口中得到以下结果Transfer function:1-----------s^3 + 5 s^2Transfer function:1---------------s^3 + 5 s^2 + 1gm =pm =-5.1009wcg =wcp =0.4463a1 =0.0669gm1 =8.3933pm1 =51.0980wcg1 =3.8710wcp1 =0.8728km1 =42.5488Mr =1.2644wr =0.4695wb =1.7055可得各项指标α=0.0669, 0980.51=γ,s rad b /7055.1=ω2644.1=r M ,4695.0=r ω10.5 考虑一个单位负反馈控制系统,其前向通道传递函数为:)4s )(1s (s K )s (G 0++=试应用Bode 图法设计一个校正装置)s (G c ,使得校正后系统的静态速度误差常数1v s 10K -=,相角裕度 50=γ,幅值裕度dB 10K g ≥。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Matlab 第十章作业
10.4考虑一个单位负反馈控制系统,其前向通道传递函数为:
)5s (s 1)s (G 20+=
试应用Bode 图法设计一个超前校正装置)1
1()(++=Ts Ts K s G c c αα 使得校正后系统的相角裕度 50=γ,幅值裕度dB 10K g ≥,带宽
s /rad 2~1b =ω。
其中,10<<α。
试问已校正系统的谐振峰值r M 和谐振角频率
r ω的值各为多少?
解: ① 先建立超前校正函数fg_lead_pm (wc 未知)
函数语句如下
function [ngc,dgc]=fg_lead_pm(ng0,dg0,Pm,w)
[mu,pu]=bode(ng0,dg0,w);
[gm,pm,wcg,wcp]=margin(mu,pu,w);
alf=ceil(Pm-pm+5);
phi=(alf)*pi/180;
a=(1+sin(phi))/(1-sin(phi)) ;
a1=1/a%求参数α
dbmu=20*log10(mu);
mm=-10*log10(a);
wgc=spline(dbmu,w,mm);
T=1/(wgc*sqrt(a));
ngc=[a*T,1]; dgc=[T,1];
② 建立M 文件l104其语句如下
ng0=[1];dg0=conv([1,0],conv([1,0],[1,5]));
t=[0:0.01:5]; w=logspace(-3,2);
g0=tf(ng0,dg0)
b1=feedback(g0,1)%校正前系统闭环传函
[gm,pm,wcg,wcp]=margin(g0)%校正前参数
Pm=50;
[ng1,dg1]=fg_lead_pm(ng0,dg0,Pm,w);%利用超前校正进行校正
g1=tf(ng1,dg1);%校正环节传递函数
g2=g0*g1;%校正后前向通道传函
[gm1,pm1,wcg1,wcp1]=margin(g2)%校正后系统参数
km1=20*log(gm1)%校正后系统幅值裕度工程表示
b2=feedback(g2,1);%校正后系统闭环传函
bode(b2)
[mag,phase,w]=bode(b2);%对校正后系统闭环传函bode图进行离散化
figure, bode(g0,'r--',g1,'b--',g2,'g',w), grid on;
Mr=max(mag)%求取Mr
a=find(mag==Mr);%求Mr对应的脚标
wr=w(a)%求wr
b=find(mag<=0.707*mag(1));%求幅值小于0.707倍零频幅值的脚标所组成的数组wb=w(b(1))%求wb
③在命令窗口中得到以下结果
Transfer function:
1
-----------
s^3 + 5 s^2
Transfer function:
1
---------------
s^3 + 5 s^2 + 1
gm =
pm =
-5.1009
wcg =
wcp =
0.4463
a1 =
0.0669
gm1 =
8.3933
pm1 =
51.0980
wcg1 =
3.8710
wcp1 =
0.8728
km1 =
42.5488
Mr =
1.2644
wr =
0.4695
wb =
1.7055
可得各项指标α=0.0669, 0980.51=γ,
s rad b /7055.1=ω
2644.1=r M ,4695.0=r ω
10.5 考虑一个单位负反馈控制系统,其前向通道传递函数为:
)4s )(1s (s K )s (G 0++=
试应用Bode 图法设计一个校正装置)s (G c ,使得校正后系统的静态速度误差
常数1v s 10K -=,相角裕度 50=γ,幅值裕度dB 10K g ≥。
解:
1 .先建立超前校正函数fg_lead_pm (wc 未知)
函数语句如下
function [ngc,dgc]=fg_lead_pm(ng0,dg0,Pm,w)
[mu,pu]=bode(ng0,dg0,w);
[gm,pm,wcg,wcp]=margin(mu,pu,w); alf=ceil(Pm-pm+5);
phi=(alf)*pi/180;
a=(1+sin(phi))/(1-sin(phi)) ;
a1=1/a%求参数
dbmu=20*log10(mu);
mm=-10*log10(a);
wgc=spline(dbmu,w,mm);
T=1/(wgc*sqrt(a));
ngc=[a*T,1]; dgc=[T,1];
2.建立M文件l105其语句如下
kk=40;
ng0=[1]; dg0=conv([1,0],conv([1,1],[1,4]));
t=[0:0.01:5]; w=logspace(-3,2);
g0=tf(ng0,dg0)
[gm0,pm0,wcg0,wcp0]=margin(g0)
km0=20*log(gm0)
Pm=50;
[ng1,dg1]=fg_lead_pm(kk*ng0,dg0,Pm,w);
g1=tf(ng1,dg1);
g2=kk*g1*g0;
[gm1,pm1,wcg1,wcp1]=margin(g2)
km1=20*log(gm1)
bode(kk*g0,'r--',g1,'b--',g2,'g',w), grid on ;
3.在命令窗口中得到下列结果
Transfer function:
1
-----------------
s^3 + 5 s^2 + 4 s
gm0 =
20.0000
pm0 =
72.8988
wcg0 =
2.0000
wcp0 =
0.2425
km0 =
59.9146
a1 =
0.0311
gm1 =
3.6182
pm1 =
25.1837
wcg1 =
11.3439
wcp1 =
5.6731
km1 =
25.7196
>>
Transfer function: 1
-----------------
s^3 + 5 s^2 + 4 s gm0 =
20.0000
pm0 =
72.8988
wcg0 =
2.0000
wcp0 =
0.2425
km0 =
59.9146
a1 =
0.0311
gm1 =
3.6182
pm1 =
25.1837
wcg1 =
11.3439
wcp1 =
5.6731
km1 =
25.7196
dB K g 7196.21=,1v s 10K -=, 1837.25=γ除相角裕量外,其他各项指标均合格。