没有合适的资源?快使用搜索试试~ 我知道了~
第7章AMESim与MATLAB的接口.doc
需积分: 15 1 下载量 155 浏览量
2022-07-05
18:04:14
上传
评论
收藏 199KB DOC 举报
温馨提示
![preview](https://dl-preview.csdnimg.cn/85911826/0001-bd13d8f80c7cea64a036d6e88be6074f_thumbnail-wide.jpeg)
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
试读
26页
第7章AMESim与MATLAB的接口
资源详情
资源评论
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/85911826/bg1.jpg)
第 7 章 AMESim 与 MATLAB 的接口
7.1 引言
本章跟你是否已经了解了 MATLAB 程序包并且积累了一定的 MATLAB 使用经验有
关。
你可以先开始一些简单的练习,最后有一个参考部分。
7.2 示例
图 7.1
利用图 7.1 所示的质量-弹簧-阻尼器系统来说明 AMESim 和 MATLAB 的接口:
1、构造这个系统并保存为 MSD.ame;
2、设置所有的参数为缺省值,仿真时间为 8s,并进行仿真;
3、画出质量块随时间变化的位移曲线如图 7.2 所示。
图 7.2
在这个例子中,首先你必须装载 AMESim 的结果,然后利用 MATLAB 中的绘图工
具 来 显 示 它 们 。 其 中 MSD_.result 和 MSD_.var 文 件 是 必 须 的 。 通 过 一 个 保 存 在
AMESim 系统子路径中的公用的 MATLAB.m 文件集,以上两个文件将会被读取和处理。
7.2.1 设置 MATLAB 路径列表
当使用 Unix 操作系统时:
![](https://csdnimg.cn/release/download_crawler_static/85911826/bg2.jpg)
确定 MATLAB 中是否已经存在路径列表的最简单的方法是检查环境变量中是否已
经有一个参考路径$AME/matlab/amesim,其中$AME 是 AMESim 的安装路径。一般情
况下,系统会自动设置 MATLAB-PATH 环境变量。
输入以下命令行:
echo $MATLABPATH
如果输出中包括字符串 matlab/amesim,说明你的环境变量已经被正确地设置好了。
如果输出中不包括以上地字符串,那么我们需要自己将 AMESim 的路径添加进去。
在 C-shell(csh)下,可以通过以下命令完成:
setenv MATLABPATH ${MATLABPATH}:${AME}/matlab.amesim
如果你用的是 Korn shell(ksh)或者 Bourne shell(sh),可以通过以下命令完成:
MATLABPATH=$MATLABPATH:$AME/matlab/amesim;
export MATLABPATH
如果命令行
echo $MATLABPATH
输 出 一 个 空 字 符 串 或 错 误 信 息 , 你 可 以 通 过 下 列 方 式 来 设 置 环 境 变 量
MATLABPATH:
对于 csh, 为
setenv MATLABPATH ${MATLABPATH}:${AME}/matlab.amesim
对于 ksh 或者 sh,为
MATLABPATH=$MATLABPATH:$AME/matlab/amesim;
export MATLABPATH
如果你将以上的命令添加到相应的文件.cshrc(csh)或者.prole(ksh、sh)中,那
么环境变量的设置就可以在程序的装载过程中自动完成了。
注:当环境变量设置完成后,你必须将以上的命令行添加到你的开始文件(.cshrc
或者.prole)中。
当使用 Windows 操作系统时:
首先,你必须检查一下 MATLAB 路径列表中是否包括以下的路径:
%AME%\matlab\amesim
其中,%AME%是 AMESim 的安装路径。
![](https://csdnimg.cn/release/download_crawler_static/85911826/bg3.jpg)
然后:
1、打开 MATLAB 并且选择菜单项 File/Set Path…。
在打开的对话框中你可以点击按钮 Add Folder…,这样将会出现一个路径浏
览器。
2、将你的%AME%\matlab\amesim 路径移到其中。
3、点击确定。
4、保存并关闭对话框。
这样就可以将以上路径添加到 MATLAB 的路径列表中了。
现在这个 amesim 子路径就被精确确定了。
5、打开 MATLAB 应用程序,并且输入以下命令:
help amesim
你将得到一个包括各种可用命令内容的表格。当然,你也可以运行其中被描述
的命令。
7.2.2 设置 MATLAB 工作区域
当打开 MATLAB 时,你必须保证是在你的 AMESim 模型被存储的路径下。使用
MATLAB 中的文件浏览器可以改变这个路径。如果关闭一个 AMESim 后,你必须运行
AMELoad 这个应用程序:
如果你使用的是 Unix 操作系统,可以在终端窗口下运行;
如果你使用的是 Windows 操作系统,可以在 DOS 窗口下运行。
这个应用程序可以打开接收自变量的 AMESin.ame 文件。在这里,这个文件是我
们在 MATLAB 中使用的 MSD.ame。为了使用在这里提到的这个应用程序,必须
有一个 AMESim 模型的仿真已经运行完毕,且是可用的和打开的。
7.2.3 将 AMESim 结果导入 MATLAB 中
当你打开你的 AMESim 模型 MSD.ame 并且在 MATLAB 下运行以后,你可以在
运行窗口下运行以下程序:
>> help ameloadt
AMELOADT Load AMESim .RESULTS format temporal files.
[R,S] = AMELOADT('NAME') extracts temporal results and variables name for the
system NAME and sort it in alphabetic order. The data in .RESULTS file is placed in matrix
![](https://csdnimg.cn/release/download_crawler_static/85911826/bg4.jpg)
R. This matrix is of size the number of variables in the .VAR file by the number of points
logged. R(1,:) is the time vector. A list of variables on the .VAR list is stored in a text matrix
S. The global variables ResultsFromAMESim VarNames- FromAMESim are set, AMEPLOT
relies on this.
[R,S] = AMELOADT ask for user the name of the system.
See also AMELOADJ, AMEPLOT, AMERUN.
>> [R,S]=ameloadt('MSD');
There are 10 variables
There are 81 points per variable
>> S
S =
time [s]
MAS001_1 acceleration at port 1 [m/s/s]
MAS001_1 displacement port 1 [m]
MAS001_1 velocity at port 1 [m/s]
SD0000_1 duplicate of force at port 1 [N]
SD0000_1 force at port 1 [N]
SD0000_1 spring compression [m]
SD0000_1 spring force [N]
SIN0_1 sine wave output
VELC_1 velocity output [m/s]
>> plot(R(1,:), R(3,:))
>> xlabel(S(1,:))
>> ylabel(S(3,:))
注意:结果保存在矩阵 R 中,变量名保存在矩阵 S 中。
你可以得到以下结果:
![](https://csdnimg.cn/release/download_crawler_static/85911826/bg5.jpg)
图 7.3
另外一种使用进入矩阵 R 和 S 的索引的方案是利用 amegetvar()函数,此函数可
以提取矩阵 R 和 S 的值和变量名。这样就不用事先知道变量存于哪个矩阵中而足以知
道变量名了。前面的绘图命令仍然可以在这里使用:
[t,tlabel]=amegetvar(R,S,’time [s]’);
[disp, displabel] = amegetvar(R,S,’MAS001_1 displace-ment*’);
plot(t,disp); xlabel(tlabel); ylabel(displabel);
7.2.4 在 MATLAB 中运行 AMESim 仿真
在 MATLAB 中完全可以进行 AMESim 仿真模型的控制仿真实验。相关命令见
7.3.4 节的列表。这就使得在 MATLAB 中可以利用脚本文件来实现分批仿真。
我们以图 7.1 所示的系统为例,将它的输入替换为阶跃信号,如图 7.4 所示。
图 7.4
剩余25页未读,继续阅读
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
omyligaga
- 粉丝: 55
- 资源: 2万+
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)
评论0