Isight教程系列1|Isight集成MATLAB聯(lián)合優(yōu)化仿真


目錄

1.問題描述

2.Isight集成MATLAB的聯(lián)合仿真流程

3.制作模板文件導(dǎo)入變量

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



1.問題描述

a.展示Isight集成MATLAB進(jìn)行聯(lián)合仿真的方法;
b.如何制作變量模板文件;
c.如何集成MATLAB子程序。
Isight教程系列1|Isight集成MATLAB聯(lián)合優(yōu)化仿真的圖1


圖1 Isight集成MATLAB框架圖

2. Isight集成MATLAB聯(lián)合仿真流程


為了更好的闡述這一過程,我們針對如下具有極小值問題,來進(jìn)行聯(lián)合仿真流程的介紹。
問題:
Isight教程系列1|Isight集成MATLAB聯(lián)合優(yōu)化仿真的圖2
其理論解為:

Isight教程系列1|Isight集成MATLAB聯(lián)合優(yōu)化仿真的圖3


針對上述問題,在MA TLAB 里我們編寫了求解文件t est.m ,內(nèi)容如下:
% 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;

首先搭建聯(lián)合仿真框架,將優(yōu)化模塊和M ATLAB 模塊拖拽到集成路線中,如圖2所示。
Isight教程系列1|Isight集成MATLAB聯(lián)合優(yōu)化仿真的圖4
圖2集成流程框圖

打開MATLAB模塊,建立Isight和MATLAB變量傳遞關(guān)系。


1. 建立輸入變量:在Content s 下首先切換到In putMappings, 然后新建一個變量t heta, 并為其設(shè)置初始值,最后建立映射關(guān)系,如圖3所示。
Isight教程系列1|Isight集成MATLAB聯(lián)合優(yōu)化仿真的圖5
圖3建立輸入變量

2. 建立輸出變量:在Content s 下首先切換到 OutputputMappings ,然后新建一個變量 Volume ,最后建立映射關(guān)系,如圖 4 所示。
Isight教程系列1|Isight集成MATLAB聯(lián)合優(yōu)化仿真的圖6
圖4建立輸出變量
3. 建立M ATLAB 命令:在Content s 下首先切換到 Commands ,然后點擊Op en ,打開.m文件,導(dǎo)入 MATLAB 文件,如圖 5 所示。
Isight教程系列1|Isight集成MATLAB聯(lián)合優(yōu)化仿真的圖7
圖5導(dǎo)入 MATLAB 文件
4. 設(shè)置 MATLAB 路徑:進(jìn)入Op tions 菜單欄,在Ma tlab Command處設(shè)置啟動MATLAB 的可執(zhí)行文件。具體路徑:Matlab安裝路徑\ bin\matalb.exe
Isight教程系列1|Isight集成MATLAB聯(lián)合優(yōu)化仿真的圖8
圖6配置 MATLAB 啟動執(zhí)行程序位置
5.Optimaztion 模塊優(yōu)化設(shè)置
Isight教程系列1|Isight集成MATLAB聯(lián)合優(yōu)化仿真的圖9
7 優(yōu)化模塊設(shè)置
圖8為優(yōu)化迭代過程圖,其最優(yōu)值為5 .1302 ,而理論值通過公式可計算出為5 .1302 ,這說明通過優(yōu)化算法獲得的解和理論解是一樣的。
Isight教程系列1|Isight集成MATLAB聯(lián)合優(yōu)化仿真的圖10
圖8優(yōu)化流程

3.制作模板文件導(dǎo)入變量


在第2節(jié)中,變量是手動建立的,這對設(shè)置多個變量不太友好,在Isight中能否批量產(chǎn)生變量呢?當(dāng)然可以,我們可通過制作變量的模板文件,在模板中先建立好變量,然后再導(dǎo)進(jìn)Isight。接下來,我們聊聊怎么制作模板文件。


先在Model Selection 中點擊Para meters ,當(dāng)顯示了所有變量情況后,選擇e xport à from all parameters
Isight教程系列1|Isight集成MATLAB聯(lián)合優(yōu)化仿真的圖11

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



圖10為保存的變量模板文件,可以看出文件第一行為關(guān)鍵詞,第一列為變量。當(dāng)有多個變量時只要按照此模板,添加相應(yīng)的變量便可。


Isight教程系列1|Isight集成MATLAB聯(lián)合優(yōu)化仿真的圖12

圖10 模板文件內(nèi)容


同樣,當(dāng)有了模板文件后,可直接將變量導(dǎo)入模型中,導(dǎo)入位置見圖9中的import。Isight關(guān)鍵詞目前還不支持Mapp ed ,因此還需要進(jìn)入M ATLAB 模塊為所有變量進(jìn)行映射以及連接M ATLAB 啟動文件。

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


通常調(diào)用的M ATLAB 程序可能包含多個子程序,對有子程序的M ATLAB 文件,我們需要在M ATLAB 中添加Isight文件的工作目錄路徑。
以一個簡單例子為例:
主程序m ain.m 內(nèi)容如下:
% main
c = add(a,b);

其子程序add .m 內(nèi)容為:
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框架結(jié)構(gòu)如圖11 所示,圖1 2 為M ATLAB 中路徑的設(shè)置。由于我的Isight文件工作路徑為: D:\Document\isightDoc ,因此將該路徑添入M ATLA 中,如圖1 2 所示。
Isight教程系列1|Isight集成MATLAB聯(lián)合優(yōu)化仿真的圖13
圖1 1 Isight框架結(jié)構(gòu)

Isight教程系列1|Isight集成MATLAB聯(lián)合優(yōu)化仿真的圖14
圖1 2 為Isight添加路徑  

 

文章來源:仿真社

登錄后免費查看全文
立即登錄
App下載
技術(shù)鄰APP
工程師必備
  • 項目客服
  • 培訓(xùn)客服
  • 平臺客服

TOP

14
3
30