文档库 最新最全的文档下载
当前位置:文档库 › MATLABtf 函数

MATLABtf 函数

Tf函数用来建立实部或复数传递函数模型或将状态方程、或零级增益模型转化成传递函数形式。

sys = tf(num,den)命令可以建立一个传递函数,其中分子和分母分别为num和den。输出sys 是储存传递函数数据的传递函数目标。

单输入单输出情况下,num和den是s的递减幂级数构成的实数或复数行向量。这两个向量并不要求维数相同。如h = tf([1 0],1)就明确定义了纯导数形式h(s)=s。

若要构建多输入多输出传递函数,要分别定义每一个单输入单输出系统的端口的分子与分母。这种情况下:

Num和den是单元数组,其中行数等于输出数,列数等于输入数;

行向量num{i,j}和den{i,j}定义了从输入j到输出i的传递函数的分子与分母。

如果此多输入多输出系统的传递函数中所有的单输入单输出端口有相同的分母,可以设置den为代表这个通用分母的行向量。

sys = tf(num,den,Ts)可以创建一个采样时间为Ts的离散时间传递函数。设置Ts = -1 or Ts = []将不指定采样时间。有关num和den的设置与连续系统一样。

sys = tf(M)可以创建一个静态增益M(标量或矩阵形式)。

sys = tf(num,den,ltisys)创建一个拥有来源于线性时不变模型ltisys的一般线性时不变属性的传递函数。有很多种方法可以创建线性时不变传递函数的数组。

前面介绍的语法可以通过属性名,属性值来进行。

'Property',Value

每一对上述定义都明确指定模型的一个线性时不变属性,如输入名或传递函数变量。

sys = tf(num,den,'Property1',Value1,...,'PropertyN',ValueN)是下述语句的简写形式

sys = tf(num,den)

set(sys,'Property1',Value1,...,'PropertyN',ValueN)

作为s或z的有理表达式的传递函数

可以应用实数或复数有理表达式来创建一个传递函数模型。可以:

s = tf('s')用拉普拉斯算符s的有理表达式来创建传递函数;

z = tf('z',Ts)用离散时间变量z的有理表达式创建采样时间为Ts的传递函数模型。

一旦你定义了s或z变量,就可以直接将传递函数模型定义为上述变量的有理表达式。

如何转化为传递函数

tfsys = tf(sys)可以将任意一个SS模型或ZPK线性时不变模型转化成传递函数的形式。输出tfsys便是sys的传递函数。缺省状态下tf用0作为分子来转化一个状态空间模型到一个传递函数形式。tfsys = tf(sys,'inv')用反演公式来得到分子。这种算法较快,但是在s=0的高阶模型中精度较差。

算例1

创建一两输出单输入传递函数

您正在看的文章来自博研联盟https://www.wendangku.net/doc/856435317.html,,原文地址:https://www.wendangku.net/doc/856435317.html,/read.php?tid=430444

Filt 以数字信号处理(DSP)格式定义离散传递函数

Filt函数可以很方便地以DSP格式定义传递函数。

sys = filt(num,den) 生成一个离散时间的传递函数系统,系统的分子为num,分母为den。采样时间未指定。(系统采样时间Ts= -1),输出系统是一个TF对象。

Matlab中文论坛

sys = filt(num,den,Ts) 进一步指定采样时间Ts(单位为秒)

sys = filt(M) 定义一个静态过滤器,增益矩阵为M

上述的所有使用格式都可在后面跟上一对特性名/特性值

‘特性名’,特性值

每一对特性名/特性值为模型指定一个特定的LTI特性,例如输入名或传递函数变量

输入以下命令:

num = {1 , [1 0.3]}

den = {[1 1 2] ,[5 2]}

H = filt(num,den,'inputname',{'channel1' 'channel2'})

生成如下两输入的数字过滤器

https://www.wendangku.net/doc/856435317.html,

公式

1,在matlab里对控制系统分析时,不论是LSI(适合用Z变换分析)系统还是LTI(适合S变换分析)系统。都相差无几,只是调用函数略有不同。下面的列表包括了实施变换的重要命令。

residue(n, d) 计算多项式之比n(s)/d(s)的部分分式展开

lsim(SYS, u) 计算/绘制系统SYS对输入向量u的响应

step(SYS) 计算/绘制系统SYS的阶跃响应

impulse(SYS) 计算/绘制系统SYS的冲击响应

pzmap(n, d) 计算/绘制系统SYS的零极点图

residuez(n, d) 计算多项式之比n(z)/d(z)的部分分式展开,写成z-1的函数

dlsim(n, d, u) 计算系统函数为n(z)/d(z)的系统对输入向量u的时间响应

dstep(n, d) 计算系统函数为n(z)/d(z)的系统的阶跃响应

dimpulse(n, d) 计算系统函数为n(z)/d(z)的系统的冲击响应

zplane(z, p) 由极点零点向量p和z绘制零极点图

这些命令中很多都是对LTI系统的一些说明有效的。其中一个说明是关于传递函数的,"SYS"由"TF(num, den)"代替,"num"和"den"分别是系统函数分子分母的系数向量。对于以多项式之比的方式给定的连续或离散时间系统的系统函数,计算和绘制频率响应由几种有用的命令。

bode(n, d) 绘制一个CT系统的波德图,系统函数是多项式比n(s)/d(s)

freqs(n, d) 计算系统函数为n(s)/d(s)的一个CT系统的频率响应

freqz(n, d) 计算系统函数为n(z)/d(z)的一个DT系统的频率响应

应用举例

假设要对一个LTI系统进行分析,系统的传递函数如下:

5s

H(s) = --------------- (在这里如果把s改成z,就成了LSI系统了。分析方法一样,调用函数参看前边的介绍)

s2 + 2s +101

clc,clear;

num = [5 0]; %Define numerator polynomial

den = [1 2 101]; %Define denominator polynomial

t = linspace(0, 10, 401); %Define a time vector

u = cos(2*pi*t); %Compute the cosine input function

figure(1);

[y, x] = lsim(num, den, u, t); %Compute the cosine input function

plot(t, y, 'r', t, u, 'b'); %Plot the output in red and the input in blue

xlabel('Time(s)');

ylabel('Amplitude');

figure(2);

dlsim(num,den,u);%Compute the cosine input function as LSI

2,LTI对象

线性定常时不变(LTI)对象有三类:

tf对象:传递函数模型;

zpk对象:零极点增益模型.

每个对象都有其对象属性与对象方法,同类对象的属性可以继承,通过对象方法可以存取或者设置对象属性值.三类对象有共同的属性,也有各自特有的属性.

1.传递函数模型

设系统的输入为r(t),输出为y(t),则系统的微分方程为:

取拉氏变换得系统的传递函数:

对象的构建

在MATLAB里,传递函数的分子/分母按"s"降幂排列,用分子/分母多项式系数构成的两个向量num和den表示系统,即

在MATLAB里,用函数命令tf()来建立系统的传递函数模型,或者将零极点模型或者状态空间模型转换为传递函数模型.其格式为:

sys=tf(num,den); sys=tf(num,den,Ts) …

函数命令

sys=tf (num, den)

根据传递函数分子,分母多项式系数构建传递函数模型.

tfsys=tf (sys)

将任意的LTI对象转换为传递函数模型.

printsys(num,den,'s')

输出系统的传递函数.

演示

重要提示!

对于已知的传递函数,其分子与分母多项式系数向量可分别由

G.num {1} 与G.den{1}指令求出

2.零极点增益模型

连续系统传递函数表达式用系统增益,系统零点,系统极点来表示的,则称为系统的零极点增益模型.显然它是传递函数模型的已知特殊形式.

可以用z,p,k构成的矢量组[z, p, k]表示系统.

零极点增益模型的构建

用函数命令zpk()来建立系统的零极点增益模型,或将传递函数或者状态空间模型转换为零极点增益模型.

sys=zpk(z,p,k); tfsys=zpk(sys); ……

特别提示!

对于已知的零极点增益模型,其零点和极点可分别

由sys.z{1]和sys.p{1}指令

求出.

4.三种模型的相互转换

六个函数完成3种模型之间的转换

tf2zp :传递函数零极点增益;

zp2tf :零极点增益传递函数

系统对象构建,转换举例

传递函数对象的构建:

Num=[1 2]; Den=[1 2 3];

sys=tf(Num,Den);

printsys (Num,Den, 's');

Q=sys.Num{1};

对象属性的获取:

Sys.Variable:得到其传递函数变量

Sys.den:得到其分母系数的描述

系统对象构建,转换举例

零极点模型的构建

z=[-1 -2]; p=[-1 -2 -3];k=20;

sys=zpk(z, p , k);

aa=sys.p{1};bb= sys.z{1};

sys2=tf(sys); printsys(sys2.num{1},sys2.den{1}, 's');

系统对象构建,转换举例

模型之间的相互转换方法

num=[1 2 ];den=[1 2 3 4];

sys=tf(num,den);

[z1,p1,k1]=tf2zp(num,den);

[num1,den1]=zp2tf(z1,p1,k1);

第四种系统数学模型

Simulink模型,这种方法前面已经做了详尽介绍.

环节方框图模型的简化

环节串连的化简

sys=sys1*sys2*…sysn

环节串连的化简举例

n1=[0.0128 1];d1=[0.04 0];sys1=tf(n1,d1);

n2=[30];d2=[0.00167 1]; sys2=tf(n2,d2);

n3=[2.5];d3=[0.0128 1];sys3=tf(n3,d3);

sys123=sys1*sys2*sys3;

环节方框图模型的简化

环节并连的化简

sys12=sys1+sys2+…sysn

环节并连的化简举例

已知系统如下图所示,试求两系统并联连接的等效传递函数的num与den向量.

num1=[5];den1=[1 1]; s1=tf(num1,den1);

num2=[7 8];den2=[1 2 9]; s2=tf(num2,den2);

Sys12=s1+s2;

num=Sys12.num{1}; den=Sys12.den{1};

环节反馈连接的化简

G1(s)为闭环前向通道的传递函数,G2(s)为反馈通道的传递函数.可用feedback()函数命令求等效传递函数.

G=feedback(G1,G2,sign); sign缺省时为-1.

[num,den]=feedback(num1,den1,num2.den2,sign)

环节反馈连接的化简举例

已知晶闸管-直流点击单闭环调速系统的simulink结构图如下图所示.求按负反馈连接闭环系统的传递函数.

n1=[1];d1=[0.017 1];s1=tf(n1,d1); n2=[1];d2=[0.075 0];s2=tf(n2,d2);

sys1=feedback(s1*s2,1); n3=[0.049 1]; d3=[0.088 0];s3=tf(n3,d3);

n4=[0 44];d4=[0.0167 1];s4=tf(n4,d4);

n5=[1]; d5=[0.01925];s5=tf(n5,d5); n6=[0.0178]; d6=[1];s6=tf(n6,d6);

sysq=sys1*s3*s4*s5; sys=feedback(sysq,s6);

8.3.2 控制系统稳定性分析的Matlab实现

设闭环系统的传递函数为:

D(s)称为特征多项式,令D(s)=0,此为特征方程.

系统稳定的充分必要条件是系统的特征方程的全部根,或者系统闭环传递函数的全部极点都位于s左半平面.

稳定性分举例1

已知系统的开环传递函数为:

试对系统闭环判别其稳定性.

k=100;z=[-2];p=[0 -1 -20]; [n1,d1]=zp2tf(z,p,k);

G=tf(n1,d1); P2=n1+d1;

roots(P2)

结果:稳定!

稳定性分举例2

已知系统的闭环传递函数为

试对系统闭环判别其稳定性.

n1=[5 200]; d1=[0.001 0.502 6 200];

s1=tf(n1,d1); G=zpk(s1);

G.p{1}

结果:稳定!

用根轨迹法判别稳定性

用rlocus(sys)函数可以画出闭环系统的根轨迹,用rlocfind()函数([k,poles]=rlocfind(sys)求出在一定k值下所有的闭环极点.然后就可以判别系统的稳定性了.

根轨迹是指当开环系统增益k从0变到无穷大时,闭环系统特征方程的根在复平面上移动的轨迹.

根轨迹法判别稳定性举例

已知一个单位负反馈系统开环传递函数为G(s),试在根轨迹上选择一点,求出该点的增益k 及其系统的闭环极点位置,并判断在该点系统闭环的稳定性.

num=[1 3]; den=conv(conv(conv([1 0],[1 5]),[1 6]),[1 2 2]);

sys=tf(num,den);rlocus(sys);

[k,poles]=rlocfind(sys);

画根轨迹的函数:rlocus().

找闭环所有极点的函数:[k,poles]=rlocfind(sys).

用Bode图法判别稳定性

相角稳定裕度:在频率特性上对应于A(ω)=1的角频率称为剪切频率ωc.使系统达到稳定的临界状态所要附加的相角滞后量,称为相角裕度(Pm).

Pm=180 +φ(ωc), φ(ωc)为开环频率特性在ωc处相角.

模值(增益)稳定裕度:在相频特性等于-180弧度ωg处,开环幅频特性的倒数1/ A(ω)称为模值(增益)稳定裕度(Gm)

为了得到满意的暂态响应,一般相角裕度在30-60之间,模值裕度应大于6dB.

Bode图法判别稳定性举例

已知两个单位反馈系统开环传递函数分别为

试用Bode图法判别系统的稳定性.

num1=[ 2.7]; den1=[1 5 4 0] ; s1=tf(num1,den1);

[Gm,Pm,Wcp,Wcg]=margin(s1)

Margin(s1)结果:稳定!

----------------------

num2=[ 0 0 02.7]; den2=[1 5 -4 0] ; s2=tf(num2,den2);

[Gm2,Pm2,Wcp2,Wcg2]=margin(s2)

Margin(s2) 结果:不稳定!

8.3.3 控制系统时域分析的Matlab实现

时域响应仿真的两种方法:

Matlab函数指令

SIMULINK窗口菜单操作

时域仿真的两种响应函数:

单位阶跃函数:step(sys); step(sys,t)

单位冲激函数:impulse(sys).

时域仿真Matlab函数指令方法举例1

已知单位负反馈开环传递函数为:

G(s)=80/(s^2+2s), 试绘出阶跃响应曲线和冲激响应曲线.

s1=tf(80, [1 2 0]);

closys=feedback(s1,1);

step(closys);hold on; pause;

Impulse(closys); pause;

grid

时域仿真的SIMULINK方法

对于单位负反馈系统simulink方框图为:

演示!

时域仿真Matlab函数指令方法举例2

已知一个系统为:

G(s)=k/(s^2+cs+k),

式中c,k分别取三组值,[c,k]=[1,1.25], [2,2], [4,29],试在同一坐标轴上绘出三条阶跃响应曲线.

c=[1 2 4];k=[1.25 2 29];

for j=1:3

num=k(j);den=[1 c(j) k(j)]; sys=tf(num,den);

step(sys);hold on;

pause;

end;

8.3.4控制系统频域分析的Matlab实现

Bode图

Nyquist曲线

Bode图的绘制

Bode图函数bode(sys);

也可以用margin函数margin(sys);margin函数同时还算出了稳定裕度值.

例如:

num1=[ 2.7]; den1=[1 5 4 0] ; sys1=tf(num1,den1);

%bode(sys1)

margin(sys1)

[a,b,c,d]= margin(sys1);

Nyquist曲线的绘制

用函数nyquist(sys)绘制出开环系统的Nyquist曲线可以用来判别闭环系统的稳定性.

当系统的开环系统传递函数G(s)的Nyquist曲线按逆时针方向包围(-1+j0)点p次(p为系统开环特征方程中位于s平面右半部的极点数目),则系统稳定.

Nyquist曲线的绘制举例

num1=[ 2.7]; den1=[1 5 4 2] ; sys1=tf(num1,den1);

R=roots(den1);

nyquist(sys1)

结论:开环系统特征方程的根全部在左半平面,故p=0.且Nyquist曲线不包围(-1+j0)点,所以闭环系统是稳定的

8.3.5 根轨迹分析的Matlab实现

根轨迹是指当开环系统增益k从0变到无穷大时,闭环系统特征方程的根在复平面上移动的轨迹.

画根轨迹的函数:

rlocus(sys); rlocus(num,den)

[r,k]= rlocus( num, den, k):用指定的k来绘制系统的个别轨迹图.r为系统复根轨迹的位置矩阵.

[k,poles]=rlocfind(sys):该函数命令可计算出与根轨迹上极点(位置为poles)相对应的根轨迹增益(k).命令执行后,可在图形窗口中显示十字形光标,当用户选择根轨迹上的一点时,其相应的增益由k记录,与增益相关的所有极点记录在poles中.

根轨迹分析举例1

n1=[0.0001 0.0218 1.0436 9.3599];

d1=[0.006 0.0268 0.6365 6.2711];

rlocus(n1,d1)

根轨迹分析举例2

n1=[0.0001 0.0218 1.0436 9.3599];

d1=[0.006 0.0268 0.6365 6.2711];

rlocus(n1,d1);

[k,poles]=rlocfind(n1,d1);

3,MATLAB命令大全

管理命令和函数

help 在线帮助文件

doc 装入超文本说明

what M、MAT、MEX文件的目录列表

type 列出M文件

lookfor 通过help条目搜索关键字

which 定位函数和文件

Demo 运行演示程序

Path 控制MATLAB的搜索路径

管理变量和工作空间

Who 列出当前变量

Whos 列出当前变量(长表)

Load 从磁盘文件中恢复变量

Save 保存工作空间变量

Clear 从内存中清除变量和函数

Pack 整理工作空间内存

Size 矩阵的尺寸

Length 向量的长度

disp 显示矩阵或

与文件和*作系统有关的命令

cd 改变当前工作目录

Dir 目录列表

Delete 删除文件

Getenv 获取环境变量值

! 执行DOS*作系统命令

Unix 执行UNIX*作系统命令并返回结果

Diary 保存MATLAB任务

控制命令窗口

Cedit 设置命令行编辑

Clc 清命令窗口

Home 光标置左上角

Format 设置输出格式

Echo 底稿文件内使用的回显命令

more 在命令窗口中控制分页输出

启动和退出MATLAB

Quit 退出MATLAB

Startup 引用MATLAB时所执行的M文件Matlabrc 主启动M文件

一般信息

Info MATLAB系统信息及Mathworks公司信息Subscribe 成为MATLAB的订购用户

hostid MATLAB主服务程序的识别代号Whatsnew 在说明书中未包含的新信息

Ver 版本信息

*作符和特殊字符

+ 加

—减

* 矩阵乘法

.* 数组乘法

^ 矩阵幂

.^ 数组幂

\ 左除或反斜杠

/ 右除或斜杠

./ 数组除

Kron Kronecker张量积

: 冒号

( ) 圆括号

[ ] 方括号

. 小数点

.. 父目录

… 继续

, 逗号

; 分号

% 注释

! 感叹号

‘ 转置或引用

= 赋值

= = 相等

< > 关系*作符

& 逻辑与

~ 逻辑非

xor 逻辑异或

逻辑函数

Exist 检查变量或函数是否存在Any 向量的任一元为真,则其值为真All 向量的所有元为真,则其值为真Find 找出非零元素的索引号

三角函数

Sin 正弦

Sinh 双曲正弦

Asin 反正弦

Asinh 反双曲正弦

Cos 余弦

Cosh 双曲余弦

Acos 反余弦

Acosh 反双曲余弦

Tan 正切

Tanh 双曲正切

Atan 反正切

Atan2 四象限反正切

Atanh 反双曲正切

Sec 正割

Sech 双曲正割

Asech 反双曲正割

Csc 余割

Csch 双曲余割

Acsc 反余割

Acsch 反双曲余割

Cot 余切

Coth 双曲余切

Acot 反余切

Acoth 反双曲余切

指数函数

Exp 指数

Log 自然对数

Log10 常用对数

Sqrt 平方根

复数函数

Abs 绝对值

Argle 相角

Conj 复共轭

Image 复数虚部

Real 复数实部

Fix 朝零方向取整

Floor 朝负无穷大方向取整

Ceil 朝正无穷大方向取整

Round 朝最近的整数取整

Rem 除后取余

Sign 符号函数

基本矩阵

Zeros 零矩阵

Ones 全“1”矩阵

Eye 单位矩阵

Rand 均匀分布的随机数矩阵

Randn 正态分布的随机数矩阵

Logspace 对数间隔的向量

Meshgrid 三维图形的X和Y数组

: 规则间隔的向量

特殊变量和常数

Ans 当前的答案

Eps 相对浮点精度

Realmax 最大浮点数

Realmin 最小浮点数

Pi 圆周率

I,j 虚数单位

Inf 无穷大

Nan 非数值

Flops 浮点运算次数

Nargin 函数输入变量数

Nargout 函数输出变量数

Computer 计算机类型

Isieee 当计算机采用IEEE算术标准时,其值为真Why 简明的答案

Version MATLAB版本号

时间和日期

Clock 挂钟

Date 日历

Etime 计时函数

Tic 秒表开始计时

Toc 计时函数

Cputime CPU时间(以秒为单位)

矩阵*作

Diag 建立和提取对角阵

Fliplr 矩阵作左右翻转

Flipud 矩阵作上下翻转

Reshape 改变矩阵大小

Rot90 矩阵旋转90度

Tril 提取矩阵的下三角部分

Triu 提取矩阵的上三角部分

: 矩阵的索引号,重新排列矩阵Compan 友矩阵

Hadamard Hadamard矩阵

Hankel Hankel矩阵

Hilb Hilbert矩阵

Invhilb 逆Hilbert矩阵

Kron Kronecker张量积

Magic 魔方矩阵

Toeplitz Toeplitz矩阵

Vander Vandermonde矩阵

矩阵分析

Cond 计算矩阵条件数

Norm 计算矩阵或向量范数

Rcond Linpack 逆条件值估计

Rank 计算矩阵秩

Det 计算矩阵行列式值

Trace 计算矩阵的迹

Null 零矩阵

Orth 正交化

线性方程

\和/ 线性方程求解

Chol Cholesky分解

Lu 高斯消元法求系数阵

Inv 矩阵求逆

Qr 正交三角矩阵分解(QR分解)

Pinv 矩阵伪逆

特征值和奇异值

Eig 求特征值和特征向量

Poly 求特征多项式

Hess Hessberg形式

Qz 广义特征值

Cdf2rdf 变复对角矩阵为实分块对角形式Schur Schur分解

Balance 矩阵均衡处理以提高特征值精度Svde 奇异值分解

矩阵函数

Expm 矩阵指数

Expm1 实现expm的M文件

Expm2 通过泰勒级数求矩阵指数

Expm3 通过特征值和特征向量求矩阵指数Logm 矩阵对数

Sqrtm 矩阵开平方根

Funm 一般矩阵的计算

泛函——非线性数值方法

Ode23 低阶法求解常微分方程

Ode23p 低阶法求解常微分方程并绘出结果图形Ode45 高阶法求解常微分方程

Quad 低阶法计算数值积分

Quad8 高阶法计算数值积分

Fmin 单变量函数的极小变化

Fmins 多变量函数的极小化

Fzero 找出单变量函数的零点

Fplot 函数绘图

多项式函数

Roots 求多项式根

Poly 构造具有指定根的多项式

Polyvalm 带矩阵变量的多项式计算

Residue 部分分式展开(留数计算)

Polyfit 数据的多项式拟合

Polyder 微分多项式

Conv 多项式乘法

Deconv 多项式除法

建立和控制图形窗口

Figure 建立图形

Gcf 获取当前图形的句柄

Clf 清除当前图形

Close 关闭图形

建立和控制坐标系

Subplot 在标定位置上建立坐标系

Axes 在任意位置上建立坐标系

Gca 获取当前坐标系的句柄

Cla 清除当前坐标系

Axis 控制坐标系的刻度和形式

Caxis 控制伪彩色坐标刻度

Hold 保持当前图形

句柄图形对象

Figure 建立图形窗口

Axes 建立坐标系

Line 建立曲线

Text 建立文本串

Patch 建立图形填充块

Surface 建立曲面

Image 建立图像

Uicontrol 建立用户界面控制

Uimen 建立用户界面菜单

句柄图形*作

Set 设置对象

Get 获取对象特征

Reset 重置对象特征

Delete 删除对象

Newplot 预测nextplot性质的M文件

Gco 获取当前对象的句柄

Drawnow 填充未完成绘图事件

Findobj 寻找指定特征值的对象

打印和存储

Print 打印图形或保存图形

Printopt 配置本地打印机缺省值

Orient 设置纸张取向

Capture 屏幕抓取当前图形

基本X—Y图形

Plot 线性图形

Loglog 对数坐标图形

Semilogx 半对数坐标图形(X轴为对数坐标)Semilogy 半对数坐标图形(Y轴为对数坐标)Fill 绘制二维多边形填充图

特殊X—Y图形

Polar 极坐标图

Bar 条形图

Stem 离散序列图或杆图

Stairs 阶梯图

Errorbar 误差条图

Hist 直方图

Rose 角度直方图

Compass 区域图

Feather 箭头图

Fplot 绘图函数

Comet 星点图

图形注释

Title 图形标题

Xlabel X轴标记

Ylabel Y轴标记

Text 文本注释

Gtext 用鼠标放置文本

Grid 网格线

MATLAB编程语言

Function 增加新的函数

Eval 执行由MATLAB表达式构成的字串

Feval 执行由字串指定的函数

Global 定义全局变量

程序控制流

If 条件执行语句

Else 与if命令配合使用

Elseif 与if命令配合使用

End For,while和if语句的结束

For 重复执行指定次数(循环)

While 重复执行不定次数(循环)

Break 终止循环的执行

Return 返回引用的函数

Error 显示信息并终止函数的执行

交互输入

Input 提示用户输入

Keyboard 像底稿文件一样使用键盘输入Menu 产生由用户输入选择的菜单

Pause 等待用户响应

Uimenu 建立用户界面菜单

Uicontrol 建立用户界面控制

一般字符串函数

Strings MATLAB中有关字符串函数的说明Abs 变字符串为数值

Setstr 变数值为字符串

Isstr 当变量为字符串时其值为真

Blanks 空串

Deblank 删除尾部的空串

Str2mat 从各个字符串中形成文本矩阵

Eval 执行由MATLAB表达式组成的串

字符串比较

Strcmp 比较字符串

Findstr 在一字符串中查找另一个子串Upper 变字符串为大写

Lower 变字符串为小写

Isletter 当变量为字母时,其值为真Isspace 当变量为空白字符时,其值为真

字符串与数值之间变换

Num2str 变数值为字符串

Int2str 变整数为字符串

Str2num 变字符串为数值

Sprintf 变数值为格式控制下的字符串Sscanf 变字符串为格式控制下的数值

十进制与十六进制数之间变换

Hex2num 变十六进制为IEEE标准下的浮点数Hex2dec 变十六制数为十进制数

Dec2hex 变十进制数为十六进制数

建模

Append 追加系统动态特性

Augstate 变量状态作为输出

Blkbuild 从方框图中构造状态空间系统Cloop 系统的闭环

Connect 方框图建模

Conv 两个多项式的卷积

Destim 从增益矩阵中形成离散状态估计器Dreg 从增益矩阵中形成离散控制器和估计器Drmodel 产生随机离散模型

Estim 从增益矩阵中形成连续状态估计器Feedback 反馈系统连接

Ord2 产生二阶系统的A、B、C、D

Pade 时延的Pade近似

Parallel 并行系统连接

Reg 从增益矩阵中形成连续控制器和估计器Rmodel 产生随机连续模型

Series 串行系统连接

Ssdelete 从模型中删除输入、输出或状态ssselect 从大系统中选择子系统

模型变换

C2d 变连续系统为离散系统

C2dm 利用指定方法变连续为离散系统

C2dt 带一延时变连续为离散系统

D2c 变离散为连续系统

D2cm 利用指定方法变离散为连续系统

Poly 变根值表示为多项式表示

Residue 部分分式展开

Ss2tf 变状态空间表示为传递函数表示

Ss2zp 变状态空间表示为零极点表示

Tf2ss 变传递函数表示为状态空间表示

Tf2zp 变传递函数表示为零极点表示

Zp2tf 变零极点表示为传递函数表示

Zp2ss 变零极点表示为状态空间表示

模型简化

Balreal 平衡实现

Dbalreal 离散平衡实现

Dmodred 离散模型降阶

Minreal 最小实现和零极点对消

Modred 模型降阶

模型实现

Canon 正则形式

Ctrbf 可控阶梯形

Obsvf 可观阶梯形

Ss2ss 采用相似变换

模型特性

Covar 相对于白噪声的连续协方差响应Ctrb 可控性矩阵

Damp 阻尼系数和固有频率

Dcgain 连续稳态(直流)增益

Dcovar 相对于白噪声的离散协方差响应Ddamp 离散阻尼系数和固有频率Ddcgain 离散系统增益

Dgram 离散可控性和可观性

Dsort 按幅值排序离散特征值

Eig 特征值和特征向量

Esort 按实部排列连续特征值

Gram 可控性和可观性

Obsv 可观性矩阵

Printsys 按格式显示系统

Roots 多项式之根

Tzero 传递零点

Tzero2 利用随机扰动法传递零点

时域响应

Dimpulse 离散时间单位冲激响应Dinitial 离散时间零输入响应

Dlsim 任意输入下的离散时间仿真Dstep 离散时间阶跃响应

Filter 单输入单输出Z变换仿真Impulse 冲激响应

Initial 连续时间零输入响应

Lsim 任意输入下的连续时间仿真

Ltitr 低级时间响应函数

Step 阶跃响应

Stepfun 阶跃函数

频域响应

Bode Bode图(频域响应)

Dbode 离散Bode图

Dnichols 离散Nichols图

Dnyquist 离散Nyquist图

Dsigma 离散奇异值频域图

Fbode 连续系统的快速Bode图

Freqs 拉普拉斯变换频率响应

Freqz Z变换频率响应

Ltifr 低级频率响应函数

Margin 增益和相位裕度

Nichols Nichols图

Ngrid 画Nichols图的栅格线

Nyquist Nyquist图

Sigma 奇异值频域图

根轨迹

Pzmap 零极点图

Rlocfind 交互式地确定根轨迹增益

Rlocus 画根轨迹

Sgrid 在网格上画连续根轨迹

Zgrid 在网格上画离散根轨迹

增益选择

Acker 单输入单输出极点配置

Dlqe 离散线性二次估计器设计

Dlqew 离散线性二次估计器设计

Dlqr 离散线性二次调节器设计

Dlqry 输出加权的离散调节器设计

Lqe 线性二次估计器设计

Lqed 基于连续代价函数的离散估计器设计

Lqe2 利用Schur法设计线性二次估计器

Lqew 一般线性二次估计器设计

Lqr 线性二次调节器设计

Lqrd 基于连续代价函数的离散调节器设计Lqry 输出加权的调节器设计

Lqr2 利用Schur法设计线性二次调节器

Place 极点配置

方程求解

Are 代数Riccati方程求解

Dlyap 离散Lyapunov方程求解

Lyap 连续Lyapunov方程求解

Lyap2 利用对角化求解Lyapunov方程

演示示例

Ctrldemo 控制工具箱介绍

Boildemo 锅炉系统的LQG设计

Jetdemo 喷气式飞机偏航阻尼的典型设计Diskdemo 硬盘控制器的数字控制

Kalmdemo Kalman滤波器设计和仿真

实用工具

Abcdchk 检测(A、B、C、D)组的一致性Chop 取n个重要的位置

Dexresp 离散取样响应函数

Dfrqint 离散Bode图的自动定范围的算法Dfrqint2 离散Nyquist图的自动定范围的算法Dmulresp 离散多变量响应函数

Distsl 到直线间的距离

Dric 离散Riccati方程留数计算

Dsigma2 DSIGMA实用工具函数

Dtimvec 离散时间响应的自动定范围算法

Exresp 取样响应函数

Freqint Bode图的自动定范围算法

Freqint2 Nyquist图的自动定范围算法

Freqresp 低级频率响应函数

Givens 旋转

Housh 构造Householder变换

Imargin 利用内插技术求增益和相位裕度

Lab2ser 变标号为字符串

Mulresp 多变量响应函数

Nargchk 检测M文件的变量数

Perpxy 寻找最近的正交点

Poly2str 变多项式为字符串

Printmat 带行列号打印矩阵

Ric Riccati方程留数计算

Schord 有序Schwr分解

Sigma2 SIGMA使用函数

Tfchk 检测传递函数的一致性

Timvec 连续时间响应的自动定范围算法

Tzreduce 在计算过零点时简化系统

Vsort 匹配两根轨迹的向量

Q1:matlab有没有监视内存的方法?

A:用函数whos。

Q2:如何解决matlab7.0命令窗口跳出一大堆java错误...

A:换matlab 7的sp2。

Q3:自从安装matlab,一开机就在进程里有matlab。

能不能开机的时候进程就不运行matlab?

A:开始-->控制面板-->管理工具-->服务

把MATLAB Server的属性改成“手动”就行了。

Q4:退出matlab7程序运行的快捷键。

A: ctrl+q

Q5:matlab7远程控制是否有限制?

A:不能远程控制,不过你可以先在你的remote机器上打开,然后就可以用了。

Q6:Matlab占用资源太多怎么办?

A:用matlab -nojvm启动(如果不需要图形界面)。

Q7:怎样给matlab添加新的toolbox?

A:在matlab的文件菜单里边添加路径,选set path。

Q8:请问matlab有没有命令可以调出历史输入啊?

A: command history 窗口。

Q9:matlab 7.0 不能在64位的cpu下运行?

A: matlab 应该是依赖于自己的虚拟机的

但是好像这个虚拟机是在 IA32 里面作出来的,所以,应该找个带 64 位的java 虚拟机替换原来的,不过不一定能行 or so,记不清了)

Q10:matlab有没有注释一段的功能?

A:选中一段代码,ctrl r就是区段注释

选中一段代码,ctrl t取消区段注释

Q11:今有WINDOWS版MATLAB7,启动时只出现版权画面,然后进程结束。

A: 用matlab -nojvm可以启动,但是报了OpenGL错误的信息,估计是显卡比较差或驱动程序不好。在显示属性里关闭硬件加速即可。

matlab常用命令参考

1、学会用help和doc函数。

2、输入输出文件:save/load

在屏幕上显示文件:type

3、解线性方程组AX=B:X=A\B

4、作图时两张曲线合并:hold on或者subplot作子图

5、程序计算时间:tic,toc或者clock

6、变量显示方式更改:format long/short/bank...

7、数组元素求和:sum

8、求数组长度:length

求矩阵维数:size或者ndims 矩阵元素个数:numel

9、函数作图:

饼图:pie/pie3 误差图:errorbar 散点图:scatter/scatter3

直方图:hist 函数图:fplot 动画:movie

10、矩阵分析:

左右翻转:fliplr 上下翻转:flipud 转置:transpose

矩阵求逆:inv 矩阵范数:norm 条件数:cond

初等变换:rref 特征值:eig/eigs

相关文档
相关文档 最新文档