==================================================================== 文中出现的了日语版的Matlab的原因是在windows中将语言设置为了日语,重新调整为英文版本的方法是:开始— 控制面板— 区域和语言选项,将里面的全部设置为英语或者中文即可。 By dynamic http://max.book118.com ==================================================================== MATLAB是现存最流行的仿真软件。作为控制专业的学生,即使没有用过也应该听过这个名字。这篇文章是为了做一个控制系统的仿真而使用MATLAB/Simulink这个软件的。主要目的是给从来没有使用过MATLAB的人们简单讲解一下用MATLAB做仿真的方法,可以作为入门的文章参考。 事情的由来 某月某日,讲义中提出这样一个课题 推导出如图所示电机的动力学方程式,用仿真的方法求出阶跃响应。 「但是,要使用MATLAB Simulink来仿真」「啊…… (虽然是控制专业)还没有用过MATLAB!」因此,我打算就像别人教我的过程那样,写成面向初学者的MATLAB仿真的一个入门。 1.首先推导出电机的动力学方程 为了仿真,首先最开始必须要建立动力学方程。电机的动力学方程式应该是控制专业常用的入门例题。推导如下:电机的角速度用ω表示,反向电动势Vm可以用下式表示: (1)另外电机产生的力矩τ 如下式所示: (2)根据式(2), (3)同时,关于电机的电学方程式推导如下: (4)把式(1)和式(3)带入式 (4),整理得到下面的电机运动方程: (5)把下面的系数也代入到方程中: (6)总结成这种形式,是一个三次积分的方程。 (7)到此,电机的方程式推导完了。 2.画出系统的框线图 MATLAB Simulink可以用框线图描画出来的简单图形的形式来进行仿真。先试着把推导出来的方程式变成框线图的形式吧。(在纸上) 作为实际的问题处理的话,不能使用微分器,所以MATLAB用积分器来实现。如上图,就是这种感觉了~那么,就这样仿真之前的准备工作就完成了。接下来,启动MATLAB~ 3.尝试MATLAB 【1】 首先启动MATLAB程序 【2】 启动MATLAB之后,会出现「しばらくお待ちください...」的字样,稍等片刻。之后出现「ようこそMATLABへ。初めての方はメニューから"MATLAB ヘルプ"を選択してください。」 的字样,就可以开始了。 ▲启动画面 【3】首先启动Simulink。工具栏上用鼠标单击Simulink的图标,会出现「Simulink Library Browser」的窗口 ▲Simulink启动图标▲这是Simulink Library Browser 【4】 这个是Simulink Library Browser,从这里可以选择构成框线图的模块。 单击窗口左边的「Continuous」。 Continuous的意思是「连续时域模块」。试着单击「Integrator」图标, 就会出现上面的说明。不用说也知道是积分器。 ▲Simulink Library Browser的操作 ▼顺便说一下这次用到的模块: 工具图标 模块名 分类 积分器 Continuous 增益 Math 求和 Math STEP信号 Sources 示波器 Sinks 这次的题目使用积分器,增益,求和,STEP信号,示波器5中模块。请自己确认这些模块从哪里找出来的。示波器是为了观看信号的模块。关于这些以后再详细说明。 【5】 在这里,单击这个窗口左上角的「新建模型」图标。 在出现的窗口里,可以建立前面画的框线图的模型。 ▲点下新建模型的按键!▲出现了建模的窗口 【6】 从Simulink Library Browser中直接把把需要的模型拖到右边的工作窗口中就可以了。另外, 模型与模型之间的连线直接用鼠标连起来就可以。这是simulink最基本的操作。 ▲把需要的模型拖到右边的窗口 如果增益模型是向左的,那么在模型上单击,在弹出来的菜单里选择反转就可以改变左右方向。 【7】 各个模块,双击之后会打开它的项目设定。 ▲sum的设定,如上图所示变更▲求和模块变成这种形状 首先从「sum」说明开始。图标的形状有round(圆形)和rectangular(长方形) 可以选择。符号默认情况下是「|++」。 「|」是端口间隔的意思。 要注意:「+|--」和「+-|-」是不一样的。 首先在这里设置成「+--」。 【8】接下来是增益的设定。设定项目是增益值。 默认情况是「1」,这里改写成「a1」 。这样就把增益设置成a1了。 a2和b也同样。 ▲gain的设定如上图所示▲这里增益设置成a1 【9】 STEP的设定。在写「ステップ時間」的地方是STEP的开始时间。默认是1,但是开始时间是0秒,所以这里改成1。 ▲STEP输入的设定 顺便,如果STEP的长度变化的话,要把「最終値」这个地方改掉。(这里1就可以了。) 【10】 连线和设定之后,如右图所示的模型就完成了。将文件保存为「motor_system.mdl」。可以随便命名,但是最好不要用非英文。 ▲像这样,模型就建完了 另外,最好也不好保存在非英文的路径下,否则仿真时会报错。 【11】那么,既然模型建好了,就可以仿真了吧?按下工具栏上的开始。动了吗?…试着做做,有什么不对?出现了报错的信息窗口。 「?????'motor_system/Gain1'内の??????'Gain'の評価に???があり首先: 'a1' 是未定义的变量」 ▲仿真开始图标▲出错信息。 怒了! 对了,就是这样。a1,a2,b这些增益还是未定义的状态。定义方法下面来说明。 【12】 虽说模型的做成是Simulink的工作,这里我们先返回到MATLAB软件本身的界面。 对于MATLAB,变量的定义,数值的计算部分可以用一个叫做M-File的文件描述。 ▲新建M-File。按下这个!▲之后出现M-File的编辑窗口 单击MATLAB窗口左上的「新規M-File」图标。之后就会出现M-File的编辑窗口。 【13】 继续,在打开的M-File窗口中,写入右边所示的代码。 MATLAB中,%是注释的记号。 从%开始到行的最后部分会被视为注释。代码的格式跟c语言一样。根据推导出来的方程是,写下变量的值就OK了。 ▼M-File的内容,是推导出来的方程式的变量。 clear; %清屏 Ra=0.92; %电动机电阻
初学者的MATLAB_Simulink翻译.doc
下载此电子书资料需要扣除0点,