MATLAB入门实例 |
您所在的位置:网站首页 › 伯德图是开环还是闭环 › MATLAB入门实例 |
MATLAB命令和矩阵函数_小韩每天进步一点点的博客-CSDN博客 上文了解到一些常用的MATLAB命令和矩阵函数,通过文档,可以快速找到对应功能的命令和矩阵函数。以画一个伯德图为例: MATLAB具有在需要时可供调用的在线帮助工具。命令help会显示那些具有在线帮助的 预定义函数和运算符的清单。命令 help函数名 会给出与所列特定函数的目的和用法有关的信息。命令 help help 会给出如何使用在线帮助的信息。 >> help help输入回车,命令行窗口出现相关信息; MATLAB软件还有智能纠错的能力,如: >> hele 未定义函数或变量 'hele'。 是不是想输入: >> help 零基础入门想要画一个伯德图: >> help bode选择bode的参考页(蓝色字体已被标记出),查看帮助文档。 键入代码,可以根据该传递函数的零极点绘制一个伯德图,即Figure 1。 对于纯新手,对于tf()命令同样不了解。如法炮制: >> help tf选择tf的参考页(蓝色字体已被标记出),查看帮助文档。 Syntax意思为语法,我们输入命令: >> H = tf([1 0.1 7.5],[1 0.12 9 0 0]); >> H = tf([1 0.1 7.5],[1 0.12 9 0 0]) H = s^2 + 0.1 s + 7.5 ---------------------- s^4 + 0.12 s^3 + 9 s^2可见上面的表达式的结果是传递函数,bode()命令的操作对象是传递函数。 对比上面的两条语句,区别在于分号。 分号的用法。分号用来取消显示。如果某个语句的最后字符是分号,就取消显示;该命令 仍然执行,但结果不予显示。这是一个很有用的性质,因为人们也许不需要显示中间结果。另 外,在输入矩阵时,分号用来表示矩阵的某行已经结束,但最后一行不用分号。 上面的例子对应的是单一的传递函数,实际应用中一个系统可能对应多个传递函数: >> Numerator = {[1 1] ; 1}; >> Denominator = {[1 2 2] ; [1 0]}; >> H = tf(Numerator,Denominator,'InputName','current',... 'OutputName',{'torque' 'ang. velocity'},... 'Variable','p') H = From input "current" to output... p + 1 torque: ------------- p^2 + 2 p + 2 1 ang. velocity: - p Continuous-time transfer function.表示该模型有一个输入——电流和两个输出——扭矩和角速度。表示变量为p 观察左下角工作区(变量区): 此时可以将H看作是一个2行1列的矩阵; 我们先引入冒号的用法: 冒号常用案标记矩阵的下标。A(:, j)是矩阵A的第j列,A(i,:)是矩阵A的第i行。 先看一个实例: >> A=[1,2,3;4,5,6;7,8,9] %逗号表示隔开元素,分号表示某行结束 A = 1 2 3 4 5 6 7 8 9 >> A(:, 3) ans = 3 6 9 >> A(2,:) ans = 4 5 6 >> A(5) ans = 5 >> A(7) ans = 3 >> A(3) ans = 7那么我们想要得到电流——扭矩的传递函数,需要输入: >> a=H(1,:) a = From input "current" to output "torque": p + 1 ------------- p^2 + 2 p + 2 Continuous-time transfer function.然后,绘制出其传递函数对应的伯德图: >> bode(a)出现Figure 1 为便于查找和调用,可以用Matlab给系统自动生成的窗体Figure1改名称 >> figure('NumberTitle', 'off', 'Name', '电流——扭矩的传递函数'); %先建立一个空白的Figure >> bode(a)绘制伯德图如下: ![]() 最后分享两个新手常用的命令: >> clc %清空命令行 >> clearvars %清除内存中的变量 >> clear A %清除部分变量我是小韩每天进步一点点,一名研0的研究生,刚开始写博客。希望和大家多多交流,一起进步! |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |