Isight教程系列1|Isight集成MATLAB联合优化仿真


目录

1.问题描述

2.Isight集成MATLAB的联合仿真流程

3.制作模板文件导入变量

4.集成含有MATLAB子程序的方法 



1.问题描述

a.展示Isight集成MATLAB进行联合仿真的方法;
b.如何制作变量模板文件;
c.如何集成MATLAB子程序。
Isight教程系列1|Isight集成MATLAB联合优化仿真的图1


图1 Isight集成MATLAB框架图

2. Isight集成MATLAB联合仿真流程


为了更好的阐述这一过程,我们针对如下具有极小值问题,来进行联合仿真流程的介绍。
问题:
Isight教程系列1|Isight集成MATLAB联合优化仿真的图2
其理论解为:

Isight教程系列1|Isight集成MATLAB联合优化仿真的图3


针对上述问题,在MA TLAB 里我们编写了求解文件t est.m ,内容如下:
% max volume
R = 10;
pi = 3.14159;
Perimeter = R*theta;
r = R*theta/(2*pi);
Height= sqrt(R^2-r^2);
Volume = 1/3*Height*r^2*pi;

首先搭建联合仿真框架,将优化模块和M ATLAB 模块拖拽到集成路线中,如图2所示。
Isight教程系列1|Isight集成MATLAB联合优化仿真的图4
图2集成流程框图

打开MATLAB模块,建立Isight和MATLAB变量传递关系。


1. 建立输入变量:在Content s 下首先切换到In putMappings, 然后新建一个变量t heta, 并为其设置初始值,最后建立映射关系,如图3所示。
Isight教程系列1|Isight集成MATLAB联合优化仿真的图5
图3建立输入变量

2. 建立输出变量:在Content s 下首先切换到 OutputputMappings ,然后新建一个变量 Volume ,最后建立映射关系,如图 4 所示。
Isight教程系列1|Isight集成MATLAB联合优化仿真的图6
图4建立输出变量
3. 建立M ATLAB 命令:在Content s 下首先切换到 Commands ,然后点击Op en ,打开.m文件,导入 MATLAB 文件,如图 5 所示。
Isight教程系列1|Isight集成MATLAB联合优化仿真的图7
图5导入 MATLAB 文件
4. 设置 MATLAB 路径:进入Op tions 菜单栏,在Ma tlab Command处设置启动MATLAB 的可执行文件。具体路径:Matlab安装路径\ bin\matalb.exe
Isight教程系列1|Isight集成MATLAB联合优化仿真的图8
图6配置 MATLAB 启动执行程序位置
5.Optimaztion 模块优化设置
Isight教程系列1|Isight集成MATLAB联合优化仿真的图9
7 优化模块设置
图8为优化迭代过程图,其最优值为5 .1302 ,而理论值通过公式可计算出为5 .1302 ,这说明通过优化算法获得的解和理论解是一样的。
Isight教程系列1|Isight集成MATLAB联合优化仿真的图10
图8优化流程

3.制作模板文件导入变量


在第2节中,变量是手动建立的,这对设置多个变量不太友好,在Isight中能否批量产生变量呢?当然可以,我们可通过制作变量的模板文件,在模板中先建立好变量,然后再导进Isight。接下来,我们聊聊怎么制作模板文件。


先在Model Selection 中点击Para meters ,当显示了所有变量情况后,选择e xport à from all parameters
Isight教程系列1|Isight集成MATLAB联合优化仿真的图11

图9模板文件的制作方法示意图



图10为保存的变量模板文件,可以看出文件第一行为关键词,第一列为变量。当有多个变量时只要按照此模板,添加相应的变量便可。


Isight教程系列1|Isight集成MATLAB联合优化仿真的图12

图10 模板文件内容


同样,当有了模板文件后,可直接将变量导入模型中,导入位置见图9中的import。Isight关键词目前还不支持Mapp ed ,因此还需要进入M ATLAB 模块为所有变量进行映射以及连接M ATLAB 启动文件。

4.集成含有MATLAB子程序的方法


通常调用的M ATLAB 程序可能包含多个子程序,对有子程序的M ATLAB 文件,我们需要在M ATLAB 中添加Isight文件的工作目录路径。
以一个简单例子为例:
主程序m ain.m 内容如下:
% main
c = add(a,b);

其子程序add .m 内容为:
function y=add(x,y)
y1 = 2*tan(x^2)*1/y^2;
y2 = cos(x)+sin(y)+cos(x)*sin(y);
y = y1+y2;
end


Isight框架结构如图11 所示,图1 2 为M ATLAB 中路径的设置。由于我的Isight文件工作路径为: D:\Document\isightDoc ,因此将该路径添入M ATLA 中,如图1 2 所示。
Isight教程系列1|Isight集成MATLAB联合优化仿真的图13
图1 1 Isight框架结构

Isight教程系列1|Isight集成MATLAB联合优化仿真的图14
图1 2 为Isight添加路径  

 

文章来源:仿真社

(3条)
默认 最新
感谢分享
评论 点赞
厉害
评论 点赞

查看更多评论 >

点赞 13 评论 3 收藏 29
关注