Matlab程序注释(1)num=[2547];den=[1,2
(1)num=[2547]; den=[1,2005]; g=tf(num,den); phai=feback(g,1); num=[571.2]; den=[1,0]; gc=tf(num,den); ggc=gc*g; phaic=feedback(ggc,1); bode(ggc); grid on; (2)num=conv([800],[1/40 1]); den=conv([1 0],conv([1/3/pi 1],[1/1000 1])); a=tf(num,den); phaic=fee
(1)num=[2547]; 表示将2547作为一个1×1的矩阵赋值给变量num,如果没有特别的需要应该写成num=2547 den=[1,2005]; [1,2005]是表示一个一行两列的矩阵,说它是行向量也可以 g=tf(num,den); tf是表示,输入为num,den,输出是g,tf的具体内容要找到函数才能知道 phai=feedback(g,1); 道理同上,好像是求相位 num=[571.2]; den=[1,0]; gc=tf(num,den); ggc=gc*g; 有上面可知,gc,g一定是不是向量,否则gc*g的语法就有错误,它一定是矩阵, phaic=feedback(ggc,1); 获得反馈的相位 bode(ggc); 画伯德图 grid on; 给图形打上网格线,不打网格线的命令是grid off; (2)num=conv([800],[1/40 1]); [800]表示1×1矩阵,[1/40 1]表示1×2矩阵。conv是函数,具体功能要找到conv的代码或者帮助 den=conv([1 0],conv([1/3/pi 1],[1/1000 1])); 同理 a=tf(num,den); phaic=feedback(a,1); 或者相位 t=0:0.01:3; 在0到3之间,以0.01为增量或者步长,产生一个时间序列,这在matlab时间上是一个行向量, u=pi/6*sin(3*pi*t); pi是matlab的内部变量,为3.14159265....,注意t是向量,产生的u也是向量,在其他的语言中,这样的功能要用一个循环来实现。 lsim(phaic,u,t); 要查阅lsim的功能。 grid on; 给图形打上网格线, ++++++++++++++++++++++++++ matlab的基本功能就是矩阵的运算,像函数lsim的功能如果不知道,在command窗口键入help lsim,就可查阅,如果没有结果,就是用户定义的函数,好在matlab一般都可以看到源代码。