




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 信号与系统补充课程信号与系统补充课程 MATLAB基础2课程安排MATLAB简介简介连续时间信号与系统离散时间信号与系统MATLAB实验内容MATLAB简介简介MATLAB基础知识MATLAB编程工具箱及Simulink仿真4内容MATLAB 简介简介1MATLAB的工作环境的工作环境MATLAB是什么是什么 MATLAB的帮助系统的帮助系统MATLAB是什么Matlab = Matrix Laboratory = 矩阵实验室由MathWorks公司于1984年基于C语言开发的一套高性能的将数值计算、可视化和编程等功能集于一身的数学软件;基本元素是没有维数限制的矩阵数学表达式与运算规则符合通
2、常的习惯,语法不严格具有强大的数值计算强大的数据可视化功能具有丰富的程序扩展系统和工具箱(ToolBox)强大的help功能6MATLAB工作环境命令窗口菜单和工具栏工作目录工作区间历史命令7MATLAB工作环境菜单和工具栏【File】Import Data:用于向工作区间导入数据;Save Workspace As:将工作区间的变量存储在某一文件中;【View】设置显示变量格式【Graphic】打开绘图工具【Start】按钮直接打开Matlab工具8MATLAB工作环境工作区间和当前目录9MATLAB工作环境历史命令和命令窗口10MATLAB的通用命令命令命令说明说明命令命令说明说明cd显示
3、或改变当前工作目录home将光标移动到命令窗口的左上角dir/ls显示当前目录或指定目录下的文件disp显示变量或文字内容clc清除工作窗口中的所有内容清除工作窗口中的所有内容load加载指定文件的变量clear清理内存变量清理内存变量exit/quit退出matlabclf清除图形窗口清除图形窗口save保存内存变量到指定目录常用命令11MATLAB的通用命令键盘按键键盘按键说明说明键盘按键键盘按键说明说明 调用上一行/下一行esc清除当前输入行光标左移/右移一个字符del删除光标处的字符Ctrl+光标左移/右移一个单词backspace删除光标前的字符Home/end光标置于当前行开头/末
4、尾Alt+backspace恢复上一次的删除常用按键MATLAB帮助系统命令窗口查询帮助help 函数名13MATLAB帮助系统联机帮助系统Search/Index 查询某一函数Demo 演示程序,快速学习工具箱Contents学习某一主题14内容MATLAB基础知识基础知识2矩阵矩阵符号符号绘图绘图函数函数MATALB基础知识: 矩阵MATLAB中所有数据均以二维矩阵或多维矩阵形式存储单个数据,用1*1矩阵表示标量一组数据,用1*n矩阵表述向量支持多维矩阵多维数组16矩阵的构造-简单矩阵矩阵的元素放在矩阵构造符内,使用空格或逗号隔开;如果矩阵是多行的,行与行之间用分号或Enter键隔开。MA
5、TALB基础知识: 矩阵矩阵的构造-特殊矩阵函数名函数名函数用途函数用途调用格式调用格式zeros全0矩阵A=zeros(n) 产生n*n的0A=zeros(m,n) 产生m*n的0ones全1矩阵A=ones(n) A=ones(m,n)eye单位矩阵(主对角线上元素为1,其他元素为0)A=eye(n) A=eye(m,n)diag把向量转化为对角矩阵X=diag(v,k) 把向量v转化成为一个对角矩阵X=diag(v) 把向量v转化成为一个主对角矩阵rand01之间均匀分布的随机数A=rand(n) A=rand(m,n)randn均值为0,方差为1高斯分布的随机数A=randn(n) A
6、=randn(m,n)randperm整数1n的随机排列A=randperm(n) MATALB基础知识: 矩阵18矩阵的构造-向量start : step : endstart:起始值,step:步长(默认为1,可为负值),end:终止值linespace(start,end,num)函数start:起始值,end:终止值,num等间距点数logspace(start,end,num)函数MATALB基础知识: 矩阵矩阵元素访问单个元素 A(m,n):提取第m行,第n列元素多个元素A(:,n):提取第n列元素A(m,:):提取第m行元素A(m1:m2,n1:n2):提取m1m2行和n1 n2
7、列的所有元素A(:):得到一个长列矢量,其元素按矩阵的列进行排列MATALB基础知识: 矩阵矩阵元素访问例:A=1,2,3 4,5,6;A(:)ans= 1 4 2 5 3 6A(:,2) ans= 2 5A(1:2,2:3)ans=2 3 5 6A(2,1) ans=4A(2,:)ans= 4 5 6 注意:注意:MATLAB中矩阵下标从中矩阵下标从1开始,而不是从开始,而不是从0开始开始MATALB基础知识: 矩阵矩阵信息的获取d=size(X)m,n=size(X)M=size(X,dim)返回矩阵大小信息,以向量方式存储返回矩阵的行列数m,n返回某一维的元素个数N=length(X)矩
8、阵最长方向的长度=max(size(X)N=numel(X)矩阵元素的个数C=class(obj)返回输入数据的数据类型K=isa(obj,class_name)判断输入数据是否为指定数据类型Tf=isinteger(A)判断输入数据是否为整数Tf=isempty(A)测试矩阵是否为空矩阵If=isscalar(A)测试矩阵是否为标量If=isvector (A)测试矩阵是否矢量MATALB基础知识: 矩阵22矩阵信息的获取例:求矩阵A的元素平均值Mean=sum(A(:)/numel(A)MATALB基础知识: 矩阵23改变矩阵矩阵扩展:在原矩阵中一个不存在的地址位置上赋值,则该矩阵会自动扩
9、展行列数,并在该位置上添加这个数,而且在其他没有指定的位置补零。C=A B水平方向和并矩阵;C=A;B竖直方向和并矩阵;消除子块:如果将矩阵的子块赋值为空矩阵 ,则相当于消除了相应的矩阵子块。改变结构:B=reshape(A,m,n) 把矩阵变为m*n大小MATALB基础知识: 矩阵改变矩阵MATALB基础知识: 矩阵例:A= 1 2 3 4 5 6; B=2 3 4 5 6 7;A(3,2)=7A=1 2 3 4 5 6 0 7 0A(2,:)= A=1 2 3C=A;B;C=1 2 34 5 62 3 45 6 7数学运算符-算数运算符矩阵加法矩阵减法 * 矩阵乘法 .* 对应元素相乘 /
10、 矩阵右除 方程X*A=B的解为A/B./矩阵A除以矩阵B的对应元素 矩阵左除方程A*X=B的解为AB. 矩阵B除以矩阵A的对应元素矩阵幂 . 元素的幂A矩阵转置 A. 共轭转置 举例A=1+i 2-2i; -3+3i -4-4i B=AB= 1- i -3-3i 2+2i -4+4iC=A.C= 1+ i -3+3i 2-2i -4-4iMATALB基础知识: 符号26MATALB基础知识: 符号数学运算符-关系运算符、=、=、= 若关系式成立,结果为1,否则结果为0;逻辑运算符元素的比较:&、| 、xor 比特的比较:bitand:位与函数 bitor :位或函数bitcmp:补码
11、bitxor:位异或函数27MATALB基础知识: 符号标点符号:定义向量%注释;矩阵区分行取消显示运行结果!调用操作系统函数 ,矩阵区分列函数参数分隔符=赋值标记()指定运算优先级字符串标识定义矩阵.小数点 对象访问域构造单元数组 续行符号例如:例如:S=1-12+13+4+ 9-4-18;28MATALB基础知识: 函数矩阵元素的数学函数矩阵元素的数学函数sin正弦nthroot开n次方sind正弦,输入以度为单位round四舍五入asin矩阵的秩floor像负无穷方向取整sinh双曲正切ceil向正无穷方向取整cos余弦mod求余tan正切sign符号函数cot余割abs绝对值,复数取模
12、exp指数函数angle复数相角log自然对数(以e为底)complex构造复数log10常用对数(以10为底)conj复数的共轭log2以2为底的对数real复数的实部sqrt开平方根imag复数的虚部MATALB基础知识: 函数信号与系统中用到的一些函数conv (A, B):得到A与B的卷积结果。时间响应impluse连续系统的脉冲响应;dimpluse离散系统的脉冲响应;step连续系统的单位阶跃响应;dstep离散系统的单位阶跃响应使用filter函数求解差分方程。MATALB基础知识: 函数信号与系统中用到的一些函数传递函数的描述roots (P):将多项式表示法表示为零极点形式。
13、poly (r):将零极点形式表示法表示为多项式。线性变换函数:fourier (F,w,z):得到fourier变换的结果。laplace (F):得到laplace变换的结果。czt (X, M, W, A):得到z变换的结果,z = A * W.(-(0:M-1)。31MATALB基础知识: 函数其他常用其他常用函数库数据分析函数库数据分析函数库(datafun)(datafun) 矩阵的分解与变换(matfun) 多项式函数库(polyfun) 函数功能和数值积分函数库(funfun) 字符串函数库(strfun) 稀疏矩阵函数库(sparfun) 图形界面函数库(Guitool)请同
14、学们自己查阅帮助系统学习!MATALB基础知识:绘图MATLAB提供了丰富的绘图功能,实现数据的可视化分析,并且还对绘图提供了各种修饰方法,使图形更加美观、可读。33 plot(x,y,属性):以x为横坐标,y为纵坐标作图.-实线.点:点线。圆-.点划线*星号-虚线s方形r红色D菱形g绿色v上三角b蓝色下三角k黑色MATALB基础知识:绘图v基本作图-二维图形MATALB基础知识:绘图figure:选择图像 figure(1);figure(2);figure(n) 打开不同的图形窗口,以便绘制不同的图形v基本作图-图形窗口创建举例: t=0:pi/20:9*pi; f=sin(t); fig
15、ure(1) plot(t,f,r:*)Matlab基础知识:绘图Matlab基础知识:绘图ezplot(f,xmin,xmax,ymin,ymax):绘制f(x,y)=0在区间xminxxmax,yminy plot3(sin(t),cos(t),t)Matlab基础知识:绘图n,xout=hist(Y,num):用于绘制数据分布直方图,返回向量n与包含频率计数与条形的位置向量xout;bar(xout,n):条形图,画出条形直方图;scatter:散点图stem:火柴杆图v基本作图-其他常用作图函数38Matlab基础知识:绘图v设定对数坐标semilogx:x轴为对数坐标,y轴为线性坐标
16、semilogy:y轴为对数坐标,x轴为线性坐标 v 设定轴的范围axis(xmin xmax ymin ymax)axis(equal):将x坐标轴和y坐标轴的单位刻度调整为一样v 设定网格grid on:在所画出的图形坐标中加入栅格:在所画出的图形坐标中加入栅格grid off:除去图形坐标中的栅格:除去图形坐标中的栅格v图形修饰图形修饰-坐标轴坐标轴Matlab基础知识:绘图图形修饰-文字标示text(x,y,字符串) 在图形的指定坐标位置(x,y)处,标示单引号括起来的字符串gtext(字符串) 利用鼠标在图形的某一位置标示字符串title(字符串) 在所画图形的最上端显示说明该图形标
17、题的字符串xlabel(字符串),ylabel(字符串) 设置x,y坐标轴的名称。legend(字符串1,字符串2,字符串n) 在屏幕上开启一个小视窗,然后依据绘图命令的先后用对应的字符串区分图形上的线40MATALB基础知识:绘图hold on: 当前图形保持不变,同时允许在这个坐标内绘制另外一个图形 hold off:使新图覆盖旧的图形v图形修饰-画多条曲线v在同一图中-图形保持v在不同图中-分割窗口subplot(mnk):分割图形显示窗口 m:上下分割个数,n:左右分割个数,k:子图编号t=0:pi/20:5*pi;f=sin(t)figure(1)subplot(121)plot(t
18、,f)grid onsubplot(122)plot(t,-f)grid onMatlab基础知识:绘图v举例MATLAB编程MATLAB作为一种功能强大的计算工具软件,还可以像C等计算机高级语言一样进行程序设计,编写扩展名为.m的M文件,实现更为复杂的运算。变量语句函数和脚本编程建议MATLAB编程基础: 变量变量的命名与C语言不同,变量无需定义即可使用变量的名字必须以字母开头,之后可以是任意字母、数字或下划线(不能超过63个字符)变量名称区分字母的大小写变量名称区分字母的大小写变量名不能包含空格、标点变量操作 在命令窗口中,同时存储着输入的命令和创建的所有变量值,它们可以在任何需要的时候被
19、调用 采用clear将清除内存内的所有变量 采用“clear 变量名”清除指定变量MATLAB编程基础: 变量一些特殊的变量ans :最近生成的无名变量 i, j :虚数单位pi :圆周率 eps :计算机的最小数 nargin :函数的输入变量个数nargout :函数的输出变量个数inf :无穷大(2/0) NaN :不定量(0/0)flops :浮点运算realmin :最小正实数realmax :最大正实数 MATLAB编程基础: 变量局部变量vs全局变量局部变量:用户定义的变量只在该函数内有效,不互相影响;全局变量:每个希望共享全局变量的函数和MATLAB基本工作区间都要定义全局变量
20、:global var1,var2;注意:不要用函数名作为变量,否则在没有从内存中清除该变量的情况下不能调用该函数;全局变量在使用之前必须首先定义,为提高程序可读性,建议放在首行采用大写字母;特殊的变量和关键字不允许重载;全局变量会损坏函数的独立性不利于维护,不推荐使用。46循环语句for循环:循环执行次数确定for 循环变量=数组循环体endwhile 循环:循环次数不固定,表达式为真时则执行循环while 表达式循环体endMATLAB编程基础: 语句注意:不能在for循环体内重新对变量赋值 为得到高效代码,应尽可能多采用矩阵运算,少采用循环结构; 如果使用的话,应在循环指令之前尽量对数组
21、进行预定义,提高效率。条件语句MATLAB编程基础: 语句If-else-end语句:if 表达式1 语句体1elseif 表达式2 语句体2.else 语句体elseend swith-case-otherwise语句:switch 变量 case 变量值1 语句体1 case 变量值2 语句体2 otherwise 语句体end其他控制语句continue:结束本次循环,执行下一次循环判断;break:终止循环,跳出最内层循环;return:退出正在运行的函数;echo:显示执行命令;error:输出错误信息并终止函数;input:接收用户输入。MATLAB编程基础: 语句文件有脚本脚本和
22、函数函数两种形式:脚本文件包含MATLAB的各种命令,在MATLAB窗口输入文件名,即可逐一执行文件所有命令;没有输入和输出参数;所有定义的变量为全局变量,保存在workspace中;MATLAB编程基础: 文件50文件有脚本脚本和函数函数两种形式:函数式文件获取传递给他的输入参数,运行所得到的输出参数,返回给调用他的语句;function output=function_name(var1,var2,)函数实现语句output=函数名必须和文件名相同;定义的变量为局部变量,函数执行完毕即清除。MATLAB编程基础: 文件MATLAB编程基础: 文件函数的调用举例MATLAB编程主文件函数文件
23、函数文件给同学们的编程建议:合理划分功能模块,尽量编写短小精悍的函数和子函数;在函数开始部分撰写本文件必要的说明,使其支持help功能;在脚本开始部分用clear、clc等命令清除上次运行的保留结果,注意在子程序中不要用clear;最好在程序开始时就声明变量和数组空间,维数大于3的数组会降低运行速度,请尽量不用;使用统一的命名约定,重要变量和函数使用有意义的名字;代码向量化,尽量用矩阵操作代替循环语句;添加适当的注释。MATLAB编程基础: 建议内容MATLAB简介MATLAB基础知识MATLAB编程工具箱及工具箱及Simulink仿真仿真MATLAB工具箱与工具箱与SimulinkMatla
24、b工具箱就是一些M文件的集合, 用户可以修改工具箱中的函数,更为重要的是用户可以通过编制M文件来任意地添加工具箱中原来没有的工具函数分类:功能型工具箱 通用型领域型工具箱 专用型MATLAB工具箱与工具箱与Simulink功能型工具箱 通用型 功能型工具箱主要用来扩充Matlab的数值计算、符号运算功能、图形建模仿真功能、文字处理功能以及与硬件实时交互功能,能够用于多种学科。MATLAB工具箱与工具箱与Simulink领域型工具箱 专用型 领域型工具箱是学科专用工具箱,其专业性很强,比如控制系统工具箱( Control System Toolbox);信号处理工具箱(Signal Proces
25、sing Toolbox);财政金融工具箱( Financial Toolbox)等等。只适用于本专业。MATLAB工具箱与工具箱与SimulinkMatlab常用工具箱:Matlab Main Toolboxmatlab主工具箱Control System Toolbox控制系统工具箱Communication Toolbox通讯工具箱Financial Toolbox财政金融工具箱System Identification Toolbox系统辨识工具箱Fuzzy Logic Toolbox模糊逻辑工具箱Higher-Order Spectral Analysis Toolbox高阶谱分析工
26、具箱MATLAB工具箱与工具箱与SimulinkMatlab常用工具箱:Image Processing Toolbox图象处理工具箱LMI Control Toolbox线性矩阵不等式工具箱Model predictive Control Toolbox模型预测控制工具箱-Analysis and Synthesis Toolbox分析工具箱Neural Network Toolbox神经网络工具箱Optimization Toolbox优化工具箱Partial Differential Toolbox偏微分方程工具箱Robust Control Toolbox鲁棒控制工具箱MATLAB工具
27、箱与工具箱与SimulinkMatlab常用工具箱:Signal Processing Toolbox信号处理工具箱信号处理工具箱StatisticToolbox统计工具箱Symbolic Math Toolbox符号数学工具箱SimulinkToolbox动态仿真工具箱动态仿真工具箱Wavelet Toolbox小波工具箱。等等每个新出的版本都在更新完善。MATLAB工具箱与工具箱与SimulinkSimulink动态仿真工具箱Simulink 是实现动态系统建模、仿真和分析的一个集成环境,是比较特殊的一个工具箱:支持图形用户界面,模型由模块组成的框图表示;提供丰富的模块库,用户只需要知道模
28、块的输入输出和功能;不定义新的函数,不需要学习新的语法;仿真过程可以改变参数设置达到理想效果。MATLAB工具箱与工具箱与SimulinkSimulink的工作原理模型基本结构:信号源模块:系统的输入,包括常数信号源、函数信号发生器(如正弦波和阶跃函数波等)和用户自己定义的信号;系统模块:系统中心模块,包含系统输入和输出的关系,是Simulink要解决的关键问题;输出模块:包括图形显示、示波器显示和输出文件等形式。源模块系统模块显示模块MATLAB工具箱与工具箱与SimulinkSimulink的工作原理仿真运行模块初始化:完成参数和属性传递、展开模块、模块排序、采样时间设定和分配初始值等工作
29、;模型执行:在每个时间步中,依次计算更新系统的输入、状态和输出,并设定下一个仿真时间样点。MATLAB工具箱与工具箱与Simulink用Simulink建立系统模型设计系统功能和层次结构,画出系统草图;启动Simulink模块浏览器,新建空白模型,将库中所需模型拖拽到空白模块窗口;用信号线连接各模块;如果系统较复杂,可以将统一功能的模块封装成一个子系统;设置模块参数和仿真参数;运行仿真,观察结果;如果仿真结果错误,调试模块后再仿真。MATLAB工具箱与工具箱与Simulink用Simulink建立系统模型-实例系统框图Signal Source1Signal Source2SUMDIFFDis
30、play Result+-MATLAB工具箱与工具箱与Simulink用Simulink建立系统模型-实例新建模型67MATLAB工具箱与工具箱与Simulink用Simulink建立系统模型-实例选择模块:Sources-Sine Wave、ConstantMath Operations-AddSinks-ScopeMATLAB工具箱与工具箱与Simulink用Simulink建立系统模型-实例连接模块:鼠标指向源模块输出,变成+时拖动到目标模块输入。MATLAB工具箱与工具箱与Simulink用Simulink建立系统模型-实例设置模块参数:双击模块,调整采样时间、采样点等参数MATLAB
31、工具箱与工具箱与Simulink用Simulink建立系统模型-实例设置模块参数MATLAB工具箱与工具箱与Simulink用Simulink建立系统模型-实例标注模块:点击模块标注更改运行,查看示波器模块输出MATLAB工具箱与工具箱与Simulink建立子系统:减少模型窗口内的模块数,增加模块可读性通过子系统模块来创建子系统:先向模型中添加Subsystrm空白子系统模块,然后打开该模块向其中添加子模块;组合已存在的系统:选中要组合的模块,点击edit-subsystem。MATLAB工具箱与工具箱与Simulink条件执行子系统:是否执行取决于某个输入信号的取值范围使能子系统:控制信号大
32、于零时执行;触发子系统:触发事件发生时执行;触发使能子系统:触发事件发生时,控制信号为正执行;控制流子系统:由实现控制逻辑的控制流模块使能的子系统。MATLAB工具箱与工具箱与Simulink条件执行子系统:MATLAB工具箱与工具箱与Simulink使用回调子程序:由MATLAB表达式组成,当模型或模块的图标发生某种特殊行为时执行,与模块或模型的参数相对应。ClpboardFcn在模块被复制或剪切时OpenFcn在模块被打开时CloseFcn当使用close_system命令关闭模块时PostsaceFcn在模块被保存之后DeleteFcn在模块被删除之前PresaveFcn在模块被保存之前InitFcn在模块被编译和模块参数被估值之前StartFcn在模块被编译之后仿真开始之前MoveFcn在模块被移动或调整大小时StopFcn在仿真结束时模块的回调参数MATLAB工具箱与工具箱与Simulink使用回调子程序:由MATLAB表达式组成,当模型或模块的图标发生某种特殊行为时执行,与模块或模型
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 林业完善合同(2篇)
- 《婴幼儿常见疾病的识别与预防》课件-婴幼儿的照护特点
- 2025监理师《合同管理》招标方式与合同风险控制要点
- 2025年人教版美术五年级下册教学进度安排表
- 高层力挺新质生产力
- 2025年工厂租赁合同范本
- 2025武汉市存量房屋买卖合同
- 2025年土地使用权抵押合同
- 指甲里有黑线的临床护理
- 2025华茶网技术服务合同
- 瓷砖空鼓装修合同协议
- 河南省普通高中2024-2025学年高三下学期学业水平选择性模拟考试(四)历史试题(原卷版+解析版)
- 一例盆腔脏器脱垂全盆底重建术患者的护理
- 旅游消费者决策
- 企业员工环保培训
- 2025年河北省唐山市玉田县第三中学中考一模地理试卷(含答案)
- 2025届金丽衢十二校高三语文第二次联考考场高分作文点评:“效率至上”与“深度求索”
- 完形填空 20篇 集训-2025年译林版七年级英语下册寒假预习(含答案)
- 各岗位应知应会“明白卡”(含矿长等)
- T-CNSAIA 005-2024 纯钛真空杯标准
- 抖音来客本地生活服务餐饮商家代运营策划方案
评论
0/150
提交评论