matlab中的一些函数

合集下载

matlab基本函数

matlab基本函数

matlab基本函数MATLAB是一种功能强大的编程语言和开发环境,广泛应用于科学计算、数据分析和工程设计等领域。

本文将介绍一些MATLAB的基本函数,包括数据操作、图形绘制、数学计算等方面的函数。

一、数据操作函数1. size()函数:用于获取数组或矩阵的大小,返回一个包含行数和列数的向量。

2. length()函数:用于获取向量的长度。

3. ndims()函数:用于获取数组或矩阵的维度数。

4. reshape()函数:用于改变数组或矩阵的形状,可以将其转换为不同大小的矩阵。

5. find()函数:用于查找数组或矩阵中满足特定条件的元素的索引。

6. sort()函数:用于对数组或矩阵进行排序,可以按照升序或降序排列。

7. unique()函数:用于返回数组或矩阵中的唯一元素,并去除重复值。

二、图形绘制函数1. plot()函数:用于绘制二维曲线图,可以通过输入不同的坐标点来绘制不同形状的曲线。

2. scatter()函数:用于绘制散点图,可以根据不同的数据点设置不同的颜色和大小。

3. bar()函数:用于绘制柱状图,可以展示不同类别或组之间的比较。

4. pie()函数:用于绘制饼图,可以展示不同类别所占比例的大小关系。

5. histogram()函数:用于绘制直方图,可以展示数据的分布情况。

6. contour()函数:用于绘制等高线图,可以展示二维数据的等高线分布。

三、数学计算函数1. sin()函数:用于计算正弦值。

2. cos()函数:用于计算余弦值。

3. exp()函数:用于计算指数函数的值。

4. sqrt()函数:用于计算平方根。

5. sum()函数:用于计算数组或矩阵中元素的总和。

6. mean()函数:用于计算数组或矩阵中元素的平均值。

7. max()函数:用于找出数组或矩阵中的最大值。

8. min()函数:用于找出数组或矩阵中的最小值。

9. rand()函数:用于生成随机数。

四、其他常用函数1. disp()函数:用于在命令窗口中显示文本或变量的值。

MatLab常见函数和运算符号解读

MatLab常见函数和运算符号解读

MatLab常见函数和运算符号解读convhull:凸壳函数cumprod:累计积cumum:累计和cumtrapz:累计梯形数值积分delaunay:Delaunay三角化dearch:求最近点(这是两个有趣的函数factor:质数分解inpolygon:搜索多边形内的点ma某:最大元素mean:平均值median:数组的中间值min:最小值perm:向量所有排列组成矩阵polyarea:多边形的面积prime:生成质数列表prod:数组元素积ort:元素按升序排列ortrow:将行按升序排列td:标准差um:元素和trapz:梯形数值积分tearch:搜索Delaunay三角形var:方差voronoi:Voronoi图del2:Laplacian离散diff:差分和近似微分gradient:数值梯度corrcoef:相关系数cov:协方差矩阵某corr:互相关系数某cov:互协方差矩阵某corr2:二维互相关conv:卷积和多项式相乘conv2:二维卷积deconv:反卷积filter:滤波filter2:二维数字滤波傅立叶变换ab:绝对值和模angle:相角cpl某pair:按复共扼把复数分类fft:一维快速傅立叶变换fft2:二维快速傅立叶变换ffthit:将快速傅立叶变换的DC分量移到谱中央ifft:以为逆快速傅立叶变换ifft2:二维逆快速傅立叶变换ifftn:多维逆快速傅立叶变换iffthift:逆fft平移ne某tpow2:最相邻的2的幂unwrap:修正相角cro:向量叉积interect:集合交集imember:是否集合中元素etdiff:集合差集et某or:集合异或(不在交集中的元素union:两个集合的并unique:返回向量作为一个集合所有元素(去掉相同元素基本数学函数ab:绝对值aco:反余弦acoh:反双曲余弦函数acot:反余切acoth:反双曲线余切acc:反余割acch:反双曲线余割angle:相位角aec:反正割aech:反双曲线正割ain:反正弦ainh:反双曲线正弦atan:反正切atanh:反双曲线正切atan2:四象限反正切conj:求共扼co:余弦coh:双曲余弦cot:余切coth:双曲线余切cc:余割cch:双曲线余割e某p:指数fi某:向零舍入floor:向负无穷大舍入gcd:最大公约数imag:复数的虚部lcm:最小公倍数log:自然对数log2:以2为底的对数log10:以10为底的对数mod:模除nchooek:二项式系数nchooek(n,k=n!/{k!(n-k!}real:复数实部rem:余数round:四舍五入ec:正割ech:双曲线正割ign:符号函数in:正弦inh:双曲线正弦qrt:平方根tan:正切tanh:双曲线正切特殊函数airy:airy函数beelh:第三类贝塞尔函数;beelibeelk:改良型beelh函数beeljbeely:贝塞尔函数betabetaincbetaln:贝塔函数ellipj:雅克比椭圆函数ellipke:完全椭圆积分erferfcerfc某erfinv:误差函数e某pint:指数积分factorial:阶乘函数gammagammalngammainc:伽马函数legendre:勒让德函数pow2:2的幂次ratrat:有理逼近坐标变换cart2pol:笛卡儿坐标变换为极坐标或圆柱坐标cart2ph:笛卡儿坐标变换为球坐标pol2cart:极坐标变换为笛卡儿坐标ph2cart:球坐标变换为笛卡儿坐标矩阵和数组基础blkdiag:构造一个分块对角矩阵eye:创建单位矩阵flop:计算浮点操作次数,现已不再常用i:虚部单位inf:无穷大inputname:输入参数名j:虚部单位nan:非数值nargin:输入参数的数目nargout:输出参数的数目(用户定义函数pi:圆周率realma某:最大正浮点数realmin:最小正浮点数varargin,varargout:返回参数数目(matlab函数时间和日期calendar:返回日历clock:当前时间weekday:星期几矩阵操作cat:把矩阵按行或列连接起来diag:给定向量,构造对角矩阵fliplr:矩阵左右翻转flipud:矩阵上下翻转repmat:复制数组,repmat(A,m,n表示把A复制m行n列组成新数组rehape:按逐列来的方式重新整形数组rot:按逆时针方向旋转90度tril:返回一个矩阵的下三角矩阵triu:返回一个矩阵的上三角矩阵特殊函数矩阵gallery:测试矩阵,或者说大约50个矩阵模版hadamard:哈达马得矩阵hankel:汉克尔矩阵hilb:希尔波特矩阵invhilb:逆希尔波特矩阵magic:魔术方阵pacal:帕斯卡矩阵toeplitz:托普利茨矩阵wilkinon:维尔金森特征值测试矩阵算数运算符+:矩阵加-:减某:乘.某:数组乘^:矩阵乘方.^:数组乘方\\:矩阵左除/:矩阵右除.\\:数组左除./:数组右除kron:克罗内克张量积关系运算符&:逻辑与|:逻辑或~:逻辑非某or:逻辑异或∶:冒号,用于创建数组和下表[]:方括号,构成向量或矩阵(:圆括号,表示算术表达式优先级、放置函数参数、放置矩阵下标{}:单元数组(cellarray专用.:句点,小数点表示、数组运算符组成部分、字段(属性访问..:父目录,与cd一起使用...:连续三点,一行末尾表示续行,:逗号,格开参数;:分号,表示矩阵一行结束或者语句末尾使得执行结果不显示%:注释符':单引号,矩阵后表示转置或者成对出现括起字符串.':数组转置=:赋值逻辑函数all:向量中是否所有分量均非零any:是否有元素非零e某it:指定变量或文件是否存在find:返回矩阵中非零元素的索引和置i某:i系列,大部分根据名称可以知道功能icell(icelltr(iempty(:是否空数组iequal(:数组是否相等ifield(:是否结构数组中的字段ifinite(:数组中元素是否有限iglobal(:是否全局变量ihandle(:是否有效图形句柄ihold(:hold命令处于on状态与否iieee:是否使用IEEE算法iinf(:是否无穷大iletter(:数组元素是否是字母表中字母ilogical(:是否逻辑数组inan(:是否非数值数inumeric(:是否数值数组iobject(:是否对象iprime(:是否质数ireal(:是否实数ipace(:是否空字符ipare(:是否是按稀疏类别存储itruct(:是否结构类itudent:matlab版本是否学生版iuni某:是否uni某版本ia(:指定对象是否属于指定类logical(:把数值数组转变为逻辑数组A(B:A为数值数组,B为逻辑数组时,按B索引的非零元素返回A中相应位置元素milocked(:当前文件是否锁定仿真命令:im---仿真运行一个imulink模块ldebug---调试一个imulink模块imet---设置仿真参数imget---获取仿真参数线性化和整理命令:linmod---从连续时间系统中获取线性模型linmod2---也是获取线性模型,采用高级方法dinmod---从离散时间系统中获取线性模型trim---为一个仿真系统寻找稳定的状态参数构建模型命令:open_ytem--打开已有的模型cloe_ytem--关闭打开的模型或模块new_ytem--创建一个新的空模型窗口load_ytem--加载已有的模型并使模型不可见ave_ytem--保存一个打开的模型add_block--添加一个新的模块add_line--添加一条线(两个模块之间的连线)delete_block--删除一个模块delete_line--删除一根线find_ytem--查找一个模块hilite_ytem--使一个模块醒目显示replace_block--用一个新模块代替已有的模块et_param--为模型或模块设置参数get_param--获取模块或模型的参数add_param--为一个模型添加用户自定义的字符串参数delete_param--从一个模型中删除一个用户自定义的参数bdcloe--关闭一个imulink窗口bdroot--根层次下的模块名字gcb--获取当前模块的名字gcbh--获取当前模块的句柄gc--获取当前系统的名字getfullname--获取一个模块的完全路径名lupdate--将1.某的模块升级为3.某的模块addterm--为未连接的端口添加terminator模块booleanlhelp--将数值数组转化为布尔值--imulink挠没虻蓟蛘吣?榘镏nbp;封装命令:hamak--检查已有模块是否封装hamakdlg--检查已有模块是否有封装的对话框hamakicon--检查已有模块是否有封装的图标iconedit--使用ginput函数来设计模块图标makpopup--返回并改变封装模块的弹出菜单项movemak--重建内置封装模块为封装的子模块诊断命令:llatdiagnotic--上一次诊断信息llaterror--上一次错误信息llatwarning--上一次警告信息ldiagnotic--为一个模型获取模块的数目和编译状态硬拷贝和打印命令:frameedit--编辑打印画面print--将imulink系统打印成图片,或将图片保存为m文件printopt--打印机默认设置orient--设置纸张的方向helprtw看看,rtw相关的命令有三个命令:rtwgen-从一个模型中创建一个rtw文件(model.rtw,用此函数可以指定一些rtw的属性设置tlc-调用目标语言编译器rtwbuild-对一个模型调用rtw的build程序相关的命令好像还有make_rtw,rtw_c,tlc_c以上摘自:水木清华站。

MATLAB的常用函数和工具介绍

MATLAB的常用函数和工具介绍

MATLAB的常用函数和工具介绍MATLAB是一款被广泛应用于科学计算和工程设计的软件,它提供了丰富的函数库和工具箱,能够帮助用户进行数据分析、模拟仿真、图像处理、信号处理等多种任务。

本文将介绍一些MATLAB常用的函数和工具,帮助读者更好地利用MATLAB进行编程和数据处理。

一、MATLAB函数介绍1. plot函数:该函数用于绘制二维图形,如折线图、曲线图等。

通过输入数据点的坐标,plot函数可以帮助用户快速可视化数据分布,同时支持自定义线型、颜色和标注等功能。

2. imread函数:该函数用于读取图像文件,支持常见的图像格式,如JPEG、PNG等。

通过imread函数,用户可以方便地加载图像数据进行后续的处理和分析。

3. fft函数:该函数用于进行快速傅里叶变换,可以将时域信号转换为频域信号。

傅里叶变换在信号处理中广泛应用,通过fft函数,用户可以快速计算信号的频谱信息。

4. solve函数:该函数用于求解方程组,支持线性方程和非线性方程的求解。

用户只需输入方程组的表达式,solve函数会自动求解变量的值,帮助用户解决复杂的数学问题。

5. mean函数:该函数用于计算数据的平均值。

mean函数支持数组、矩阵和向量等多种数据类型,可以方便地对数据进行统计分析。

6. importdata函数:该函数用于导入外部数据文件,如文本文件、CSV文件等。

通过importdata函数,用户可以将外部数据加载到MATLAB中,进行后续的数据处理和分析。

二、MATLAB工具介绍1. MATLAB Editor:这是MATLAB自带的编辑器,可以用于编写和调试MATLAB代码。

它提供了代码高亮、自动缩进和代码片段等功能,能够提高编程效率和代码可读性。

2. Simulink:这是MATLAB的一个强大的仿真工具,用于建立动态系统的模型并进行仿真。

Simulink支持直观的图形化建模界面,用户可以通过拖拽元件和线条来搭建系统模型,进而进行仿真和系统分析。

(完整版)matlab函数大全最完整版

(完整版)matlab函数大全最完整版

MATLAB函数大全Matlab有没有求矩阵行数/列数/维数的函数?ndims(A)返回A的维数size(A)返回A各个维的最大元素个数length(A)返回max(size(A))[m,n]=size(A)如果A是二维数组,返回行数和列数nnz(A)返回A中非0元素的个数MATLAB的取整函数:fix(x), floor(x) :,ceil(x) , round(x) (1)fix(x) : 截尾取整.>> fix( [3.12 -3.12])ans =3 -3(2)floor(x):不超过x 的最大整数.(高斯取整)>> floor( [3.12 -3.12])ans =3 -4(3)ceil(x) : 大于x 的最小整数>> ceil( [3.12 -3.12])ans =4 -3(4)四舍五入取整>> round(3.12 -3.12)ans =>> round([3.12 -3.12])ans =3 -3>>如何用matlab生成随机数函数rand(1)rand(n):生成0到1之间的n阶随机数方阵rand(m,n):生成0到1之间的m×n的随机数矩阵(现成的函数)另外:Matlab随机数生成函数betarnd 贝塔分布的随机数生成器binornd 二项分布的随机数生成器chi2rnd 卡方分布的随机数生成器exprnd 指数分布的随机数生成器frnd f分布的随机数生成器gamrnd 伽玛分布的随机数生成器geornd 几何分布的随机数生成器hygernd 超几何分布的随机数生成器lognrnd 对数正态分布的随机数生成器nbinrnd 负二项分布的随机数生成器ncfrnd 非中心f分布的随机数生成器nctrnd 非中心t分布的随机数生成器ncx2rnd 非中心卡方分布的随机数生成器normrnd 正态(高斯)分布的随机数生成器poissrnd 泊松分布的随机数生成器raylrnd 瑞利分布的随机数生成器trnd 学生氏t分布的随机数生成器unidrnd 离散均匀分布的随机数生成器unifrnd 连续均匀分布的随机数生成器weibrnd 威布尔分布的随机数生成器一、MATLAB常用的基本数学函数abs(x):纯量的绝对值或向量的长度angle(z):复数z的相角(Phase angle)sqrt(x):开平方real(z):复数z的实部imag(z):复数z的虚部conj(z):复数z的共轭复数round(x):四舍五入至最近整数fix(x):无论正负,舍去小数至最近整数floor(x):地板函数,即舍去正小数至最近整数ceil(x):天花板函数,即加入正小数至最近整数rat(x):将实数x化为分数表示rats(x):将实数x化为多项分数展开sign(x):符号函数(Signum function)。

matlab函数大全

matlab函数大全

matlab函数大全Matlab函数大全。

Matlab是一种强大的数学软件,它提供了丰富的函数库,可以帮助用户进行各种数学计算、数据分析和可视化操作。

在Matlab中,函数是一种用来完成特定任务的代码块,它可以接受输入参数并返回输出结果。

本文将介绍一些常用的Matlab函数,希望能够帮助读者更好地理解和使用Matlab。

1. plot函数。

plot函数是Matlab中最常用的函数之一,它用于绘制二维图形。

通过plot函数,用户可以将数据点连接起来,形成折线图或者曲线图。

plot函数的基本语法是,plot(x, y),其中x和y分别表示横轴和纵轴的数据点。

用户可以通过设置不同的参数,如颜色、线型、线宽等,来定制绘制的图形。

2. linspace函数。

linspace函数用于生成指定范围内的等间距数据点。

其基本语法是,linspace(start, end, n),其中start和end分别表示起始值和终止值,n表示生成的数据点个数。

linspace函数常用于生成绘图的横轴数据点,也可以用于生成一维数组。

3. meshgrid函数。

meshgrid函数用于生成二维网格数据点。

其基本语法是,[X, Y] = meshgrid(x, y),其中x和y分别表示横轴和纵轴的数据点,X和Y分别表示生成的二维网格数据点。

meshgrid函数常用于三维曲面的绘制,也可以用于生成二维数组。

4. fft函数。

fft函数用于进行快速傅里叶变换,它可以将时域信号转换为频域信号。

其基本语法是,Y = fft(X),其中X表示输入的时域信号,Y表示输出的频域信号。

fft函数常用于信号处理和频谱分析。

5. polyfit函数。

polyfit函数用于进行多项式拟合,它可以根据给定的数据点拟合出一个多项式模型。

其基本语法是,p = polyfit(x, y, n),其中x和y表示数据点,n表示拟合的多项式阶数,p表示拟合出的多项式系数。

Matlab的一些函数库

Matlab的一些函数库

场论分析
cross:两个向量的矢量积,cross(a,b) dot:两个向量的数量积,dot(a,b)
随机数据分析
rand(m,n):0到1之间均匀部分的m行n列随机数 矩阵
randn(m,n):正态分布的m行n列随机数矩阵,均 值为0,标准差为1
分布情况可以直方图命令hist(x,N),N表示直方图 横坐标的分割数
[n,m]=size(A),n为方程的数目,m为未知 数的数目。当n=m时,A为方阵,若A为满 秩,即rank(A)=n,即det(A) ≠0时,inv(A) 存在,即方程都是有效的,可以得到解
x=A\B=inv(A)*B
当n>m(有效方程数大于未知数数目), 超定方程组,A\B仍然合法,得到解为最小 二乘解。此时inv(A)不存在, x=inv(A’*A)*(A’*B)
y(t)=r(1)*exp(p(1)*t)+ r(2)*exp(p(2)*t)+…
[r,p,k]=residue(b,a)
4.4 函数功能和数值积分函数库 (funfun)
4.4.2 非线性函数的分析
绘制函数曲线:fplot(‘函数名’,[初值,终 值])
求函数极值:fmin (‘函数名’,[初值,终 值])
polyvalm则对输入变量阵(方阵)作矩阵多 项式运算
f=polyval(a,[1 2;2 1]) 求得 f =2 0
f1=polyvalm(a,[1 2;2 1]) f1= 6 -6
02
-6 6 x2-5x+6I
4.3.3 多项式拟合
p=polyfit(x,y,n):x,y是已知的N个数据点的坐标 向量,其长度均为N。n是用来拟合的多项式的次 数,p是求出的多项式的系数,n次多项式应该有 n+1个系数,所以p的长度为n+1

Matlab中常用的数学函数介绍与应用

Matlab中常用的数学函数介绍与应用

Matlab中常用的数学函数介绍与应用引言:Matlab是一种强大的数学计算工具,它提供了丰富的函数库,可以方便地进行各种数学运算和数据分析。

本文将介绍一些常用的Matlab数学函数,并讨论它们的具体应用场景和用法。

一、线性代数函数1.1 dot函数dot函数用于计算两个向量的点积。

在向量计算中,点积可以帮助我们判断两个向量之间的夹角以及它们的相似程度。

例如,我们可以使用dot函数来计算两个特征向量之间的相似性,从而实现图像分类或者特征匹配。

具体用法:C = dot(A,B),其中A和B是两个向量。

计算结果将存储在变量C 中。

1.2 inv函数inv函数用于计算一个矩阵的逆矩阵。

在线性代数中,逆矩阵对于求解线性方程组、求解最小二乘问题以及确定矩阵的特征值等具有重要作用。

通过使用inv函数,我们可以方便地求解这些问题。

具体用法:B = inv(A),其中A是输入的矩阵,B是其逆矩阵。

1.3 eig函数eig函数用于计算一个矩阵的特征值和特征向量。

在许多数学和物理问题中,特征值和特征向量都具有重要的意义。

例如,在图像压缩和图像处理中,特征值分解可以帮助我们找到最佳的基向量,从而实现更好的图像压缩效果。

具体用法:[V,D] = eig(A),其中A是输入的矩阵,V是特征向量矩阵,D是特征值对角矩阵。

二、微积分函数2.1 diff函数diff函数用于计算一个函数的导数。

在微积分中,导数表示函数在某一点的变化率,具有重要的应用价值。

通过使用diff函数,我们可以方便地计算函数的导数,从而求解一些最优化问题、优化算法以及信号处理等领域的相关问题。

具体用法:Y = diff(X),其中X是输入的函数,Y是其导数。

2.2 int函数int函数用于计算一个函数的不定积分。

在微积分中,不定积分表示函数在某一区间上的面积或体积,对于求解曲线下面积、计算变量间的相关性以及估计概率密度分布等问题非常有用。

通过使用int函数,我们可以轻松地计算函数的不定积分。

Matlab中常用的数学函数解析

Matlab中常用的数学函数解析

Matlab中常用的数学函数解析Matlab是一个强大的数值计算和可视化软件,它提供了丰富的数学函数,方便用户进行各种数学运算和分析。

在本文中,我们将解析一些常用的Matlab数学函数,介绍其用法和应用场景。

一、求解方程和优化问题在科学和工程领域,求解方程和优化问题是常见的任务。

Matlab提供了许多函数用于这些目的,其中最常用的是solve和fmincon函数。

1. solve函数solve函数用于求解代数方程或方程组。

例如,我们想求解一个一元二次方程2x^2 + 3x - 5 = 0的根,可以使用solve函数:```syms xeqn = 2*x^2 + 3*x - 5 == 0;sol = solve(eqn, x);```solve函数返回一个包含根的结构体sol,我们可以通过sol.x获得根的值。

当然,solve函数也可以求解多元方程组。

2. fmincon函数fmincon函数是Matlab中的一个优化函数,用于求解有约束的最小化问题。

例如,我们希望找到一个函数f(x)的最小值,同时满足一些约束条件,可以使用fmincon函数:```x0 = [0.5, 0.5]; % 初始解A = [1, 2]; % 不等式约束系数矩阵b = 1; % 不等式约束右侧常数lb = [0, 0]; % 变量下界ub = [1, 1]; % 变量上界nonlcon = @mycon; % 非线性约束函数options = optimoptions('fmincon', 'Algorithm', 'sqp'); % 优化选项[x, fval] = fmincon(@myfun, x0, A, b, [], [], lb, ub, nonlcon, options);```其中,myfun为目标函数,mycon为非线性约束函数。

fmincon函数返回最优解x和最小值fval。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3. 函数 initial(),dinitial()
对于连续系统由初始状态所引起的 响应,零输入响应,可由函数 initial()来求 得,其调用格式为
[y,x,t]=initial(A,B,C,D,x0) [y,x,t]=initial(A,B,C,D,x0,t) 其中 x0 为初始状态. 同理,对于离散系统的零输入响应函数 调用格式为: [y,x,t]=dinitial(A,B,C,D,x0) [y,x,t]=dinitial(A,B,C,D,x0,n)
clear clc num=[2 -3.4 1.5]; den=[1 -1.6 0.8] step(num,den) grid on
title('连续系统阶跃响应')
xlabel('时间')
ylabel('振幅')
2. c2dm()函数,连续系统的离散化 在 MATLAB 软件中对连续系统的离散
化是应用 c2dm()函数实现的,c2dm()函数的 一般格式为
指定开环增益 k 的变化范围来绘制系统的根轨迹图。
• r=rlocus(num,den,k)


[r,k]=rlocus(num,den) :不在屏幕上直接绘出系统的根
轨迹图,而根据开环增益变化矢量 k ,返回闭环系统特征
方程 1+k*num(s)/den(s)=0 的根 r,它有 length(k)行,
常用的产生通用特殊矩阵的函数
– zeros:产生全 0 矩阵(零矩阵) – ones:产生全 1 矩阵(幺矩阵) – eye:产生单位矩阵 – rand:产生 0~1 间均匀分布的随机矩阵 – randn:产生均值为 0,方差为 1 的标准正
态分布随机矩阵
以 zeros 函数为例 – zeros(m):产生 m×m 零矩阵 – zeros(m,n) :产生 m×n 零矩阵 – zeros(size(A)) :产生一个与矩阵 A 同样大小的零矩阵
17. rlocus()
MATLAB 提供了函数 rlocus()来绘制系统的根轨迹 图,其用法如下:
• rlocus(a,b,c,d)或者 rlocus(num,den):根据 SISO
开环系统的状态空间描述模型和传递函数模型,直接在屏
幕上绘制出系统的根轨迹图。开环增益的值从零到无穷大
变化。
• rlocus(a,b,c,d,k)或 rlocus(num,den,k): 通过
矢量和零点矢量,而不在屏幕上绘制出零极点图。(不绘图,只
求 p,z)
• pzmap(a,b,c,d)或 pzmap(num,den):不带输出参数项, 则直接在 s 复平面上绘制出系统对应的零极点位置,极点用×
表示,零点用 o 表示。(绘图,不求 p,z)
• pzmap(p,z):根据系统已知的零极点列向量或行向量直 接在 s 复平面上绘制出对应的零极点位置,极点用×表示,零
a 到 b 的定积分。 (4)R=int(S,a,b): 对符号对象 S 中默认的独立变量求从 a
到 b 的定积分。
14.符号 inf 无穷大
MATLAB 中无穷大用 Inf 表示,这个符号是 MATLAB 已经定义 好的特殊变量。负无穷大用-inf 表示,正无穷大用+inf 或 inf 表示。
15.rand()
表达。
例子 clear [u,t]=gensig('squre',4,10,0.1); H=[tf([2,5,1],[1,2,3]);tf([1,-1],[1,1,5])]; lsim(H,u,t) grid on title('周期为 4 秒的方波输出响应') xlabel('时间') ylabel('振幅') grid off
[y,x]=lsim(num,den,u,t) [y,x]=lsim(A,B,C,D,iu,u,t) 其中,u 为由给定输入序列构成的矩阵,它的每列对应一个输
入,每行对应一个新的时间点,其行数与时间 t 的长度相等.其他 用法同 step()函数.
8. gensig()特定输入时间响应函数
[u,t]=gensig(type,Ta) type 类型:sin、square(方波)、pulse Ta-周期
6. zplane()
zplane 函数用于画出线性系统在 Z 平面上的零极点。有两种使用方法:
在已知零极点时,例如某滤波器的零点为-1/2,一对共轭极 点为0.9e j2 (0.3) 和 0.9e j2 (0.3) 时,只要输入命令
zer = -0.5; pol = 0.9*exp(j*2*pi*[-0.3 0.3]'); zplane(zer,pol) 即可画出零极点。 另一种情况:已知系统的系统函数系数向量 b 和 a ,则可 通过调用 zplane(b,a) 绘出零极点。
13.int(): 求积分函数(P141)
(1)R=int(S,v): 对符号对象 S 中指定的符号变量 v 求不定积 分,结果没有带任意常数 C。
(2)R=int(S): 对符号对象 S 中默认的独立变量求不定积分。 (3)R=int(S,v,a,b): 对符号对象 S 中指定的符号变量 v 求从
的极限。 (3)limit(F) : 计算符号对象 F,当默认的独立变量趋近于 0
的极限。
(4)limit(F,v,a,’right’)或 limit(F,v,a,’left’):计算符号 函数 F 的单侧极限:右极限 v 到 a 的极限,或左极限 v 到 a 的 极限。
12.diff(): 求微分函数(P141)
length(den)-1 列,每行对应某个 k 值时的所有闭环极点。
或者同时返回 k 与 r。
• 若给出传递函数描述系统的分子项 num 为负,则利
如 生成一个周期为 5s,持续时间为 30s,采样时间为 0.1s 的方波。
[u,t]=gensig('square',5,30,0.1) plot(t,u) axis([0,30,-0.5,1.5])
9.tf()
transfer function [数] 转移函数,[自] 传递函数
Sys= tf (NUM, DEN ) 用于创建一个传递函数 的
这种情形下,zplane 函数先求得系统函数的零点和极点,
然后绘出零极点图。
例子
clear A1=[-1.5,-0.8,0,0;0.8,0,0,0;0.3,0.4,-4.0,-1.25;0,0, -1.25,0]; B1=[1;0;1;0];
C1=[1,2,1,2];
D1=0; t=0.5; [A,B,C,D]=c2dm(A1,B1,C1,D1,t,'m'); subplot(2,2,1) dstep(A,B,C,D) grid on title('离散阶跃响应') xlabel('时间') ylabel('振幅') subplot(2,2,2) dimpulse(A,B,C,D) grid on title('离散冲激响应') ylabel('振幅') xlabel('时间') subplot(2,2,3) x0=[1,1,1,1]; dinitial(A,B,C,D,x0) grid on ylabel('振幅') xlabel('时间') title('离散零输入响应') axis([0 6 -0.5 2.5])
例子 clear num=[2 -6.8 3.6];den=[3 -4.3 1.75]; u=rand(100,1); dlsim(num,den,u); grid on
clear num=1.064; den=[2,-3.685,1.791];
u1=[ones(1,50),-1*ones(1,50)]; u=[u1,u1,u1]; dlsim(num,den,u) grid on title('离散系统仿真') xlabel('时间') ylabel('振幅')
点用 o 表示。
例子
clear
num=[0.0001 0.0218 1.0436 9.3599];
den=[0.0006 0.0268 0.06365 6.2711];
[p,z]=pzmap(num,den) %求 p,z 值
pzmap(num,den)
%绘图,绘出图纸
grid on
title('零极点图')
(1)diff(S,’v’): 对符号对象 S 中指定的符号变量 v 求其 1 阶导数。
(2)diff(S): 对符号对象 S 中默认的独立变量求其 1 阶导 数。
(3)diff(S,n): 对符号对象 S 中默认的独立变量求其 n 阶导 数。
(4)diff(S,’v’,n): 对符号对象 S 中指定的符号变量 v 求 其 n 阶导数。
函数
1.step 阶跃响应指令(连续函数) dstep 阶跃响应指令(离散函数)
clear clc num=[2 -3.4 1.5]; den=[1 -1.6 0.8]; dstep(num,den) grid on
title('离散系统阶跃响应') xlabel('时间') ylabel('振幅')
4. axis 坐标轴范围
axis 一般用来设置 axes 的样式,包括坐标轴范围,可读比例等 axis([xmin xmax ymin ymax]) axis([xmin xmax ymin ymax zmin zmax cmin cmax]) 坐标轴设置
5. 函数 ss2zp()(与 zplane()连用) MATLAB 还提供了 一个 类 似的 函数
相关文档
最新文档