计算机控制系统中基础的Matlab使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013637931/article/details/46236245
1.窗口输入函数input
x=input(''); %单引号中可以输入字符串也可以没有,但是必须有单引号,没有就会报错


2.窗口输出函数disp
disp(变量名); %变量名可以是变量,字符串和矩阵

3.switch n case case otherwise 语句中不需要break;和c语言不一样,不会顺序执行下去


4.x=0:0.01:2*pi; 先执行2*pi,冒号运算优先级比较低 


5.plot(x1,y1,x2,y2,…,xn,yn) 画多重线性曲线,每两个为一组


6.矩阵输入:每行内的元素间用空格或逗号分开,行与行的内容用分号隔开。
A=[1, 2, 3; 4, 5, 6; 7, 8, 9]或者A=[1  2  3; 4  5  6; 7  8  9]

7.测向量元素个数用length函数:length(向量名);


8.对矩阵特定元素操作:
A(4,5)=8 将矩阵的第四行第五列的元素置为8(Matlab的下标都是从1开始的,不是从0开始)

9.单位矩阵函数eye( )
A=eye(n)      %产生一个n阶的单位矩阵A


10.多项式的乘法运算,利用函数conv( )来实现 p=conv[p1,p2]


11.矩阵基本运算:max最大值,min最小值,mean平均值,median中值,sum求和


12.函数sym( )可将数值表达式转换成符号表达式.函数eval( )可将符号表达式转换成数值表达式
f='abs(-1)+sqrt(1)/2',p=eval(f),n=sym(p)

13. 线性系统数学模型的三种描述方法:状态空间,零极点形式,传递函数


状态空间表达式转换为传递函数:[num,den]=ss2tf(A,B,C,D,iu) state space to transfer function:ss2tf
传递函数转换为状态空间表达式:[A,B,C,D]=tf2ss(num,den) transfer function to state space:tf2ss

状态空间表达式转换为零极点形式:[Z,P,K]=ss2zp(A,B,C,D,iu) state space to zero pole:ss2zp pole是极点的意思
零极点形式转换为状态空间表达式:[A,B,C,D]=zp2ss(Z,P,K) zero pole to state space

传递函数转换为零极点形式:[Z,P,K]=tf2zp(num,den) transfer function to zero pole
零极点形式转换为传递函数:[num,den]=zp2tf(Z,P,K) zero pole to transfer function


14. 给定系统状态空间的最小实现:[Am ,Bm ,Cm ,Dm]=minreal(A,B,C,D,tol)


15.串联连接处理函数series( ),两种使用形式如下:
[A , B ,C ,D]=series(A1, B1, C1, D1, A2, B2, C2, D2)
[num,den]=series(num1,den1,num2,den2)


16.并联连接处理函数parallel( ) [num,den]=parallel(num1,den1,num2,den2)

17.系统反馈连接处理函数 feedback( ) [num,den]=feedback(num1,den1,num2,den2,sign)


18.r=roots(den) roots函数:求多项式的根


19. pzmap(num,den)函数绘制连续系统的零极点
zplane(num,den)函数绘制离散系统零极点图的同时还绘出单位圆

20.[u,t]=gensig(type,Ta) [u,t]=gensig(type,Ta,Tf,T)
type为’sin‘—正弦波;’square’—方波;’pulse’—脉冲序列 Ta为周期,Tf为持续时间,T为采样时间

21. 离散系统的单位阶跃响应:[y,x]=dstep(num,den,n) n为采样点的个数,可以省略,当n省略时,取样点数由函数自动选取
离散系统的单位脉冲响应:[y,x]=dimpulse(num,den,n)


22. 连续系统的稳态误差:ess=dcgain (nume,dene)
离散系统的稳态误差:求公式极限

23.绘制根轨迹 rlocus(num,den); rlocus=root+locus(轨迹)
展开阅读全文

没有更多推荐了,返回首页