本期講解如何在Matlab中建立屬于自己的庫(kù),針對(duì)于公司設(shè)計(jì)相關(guān)MBD產(chǎn)品。
步驟如下:
將庫(kù)添加到庫(kù)瀏覽器中
此示例說(shuō)明如何創(chuàng)建模塊庫(kù),并將其添加到 Simulink庫(kù)瀏覽器中。此示例還顯示如何添加子庫(kù)。
要指定與您的庫(kù)相關(guān)的信息,您可以創(chuàng)建名為slblocks的函數(shù)。
將庫(kù)添加到庫(kù)瀏覽器
在 Simulink 起始頁(yè)上,選擇Blank Library并點(diǎn)擊Create Library。
注意
庫(kù)瀏覽器僅支持庫(kù)。您無(wú)法在庫(kù)瀏覽器中顯示模型的內(nèi)容。
向該庫(kù)添加一個(gè) Gain 模塊。
在 MATLAB命令行窗口中,輸入以下命令將EnableLBRepository庫(kù)屬性設(shè)置為'on'。當(dāng)您保存庫(kù)時(shí),只有此屬性設(shè)置為 on,您的庫(kù)才會(huì)出現(xiàn)在庫(kù)瀏覽器中。
set_param(gcs,'EnableLBRepository','on');
將庫(kù)保存到 MATLAB 路徑上的文件夾中。對(duì)于本示例,將庫(kù)命名為mylib。
在 MATLAB 當(dāng)前文件夾瀏覽器中,打開包含mylib的文件夾,然后在 MATLAB 工具條中點(diǎn)擊New Script。
在打開的 MATLAB 編輯器中,添加以下函數(shù),該函數(shù)指定庫(kù)mylib應(yīng)出現(xiàn)在名為My Library的庫(kù)瀏覽器中。
function blkStruct = slblocks % This function specifies that the library 'mylib' % should appear in the Library Browser with the % name 'My Library' Browser.Library = 'mylib'; % 'mylib' is the name of the library Browser.Name = 'My Library'; % 'My Library' is the library name that appears % in the Library Browser blkStruct.Browser = Browser;
將函數(shù)另存為slblocks.m。
注意
您可以將該函數(shù)保存為.m或.mlx文件。但不能另存為 P 代碼文件。
通過(guò)點(diǎn)擊 Simulink 工具條中的Library Browser打開庫(kù)瀏覽器。
要在庫(kù)瀏覽器中查看新庫(kù),請(qǐng)右鍵點(diǎn)擊庫(kù)列表并選擇Refresh Library Browser。
下圖顯示了示例庫(kù)mylib,它在庫(kù)瀏覽器中的名稱為My Library。
注意
如果您保存庫(kù)時(shí)沒(méi)有將'EnableLBRepository'設(shè)置為'on',庫(kù)瀏覽器的頂部將顯示一條消息。
請(qǐng)點(diǎn)擊Fix并根據(jù)提示進(jìn)行操作。
將子庫(kù)添加到庫(kù)瀏覽器
按照以下步驟將名為mylib2的子庫(kù)添加到您的mylib庫(kù)中。
創(chuàng)建名為mylib2的庫(kù)。將幾個(gè)模塊添加到該庫(kù)。
在 MATLAB 命令行窗口中,為新庫(kù)將EnableLBRepository庫(kù)屬性設(shè)置為'on'。
set_param(gcs,'EnableLBRepository','on');
將mylib2保存到包含mylib的文件夾中。
向該mylib庫(kù)添加一個(gè) Subsystem 模塊。
通過(guò)刪除子系統(tǒng)中的 Inport 和 Outport 模塊,從子系統(tǒng)中刪除輸入和輸出端口。
將Subsystem模塊命名為My Sublibrary。
要將Subsystem模塊鏈接到子庫(kù),請(qǐng)使用屬性檢查器將OpenFcn回調(diào)設(shè)置為mylib2。
保存mylib。
要在庫(kù)瀏覽器中查看新子庫(kù),請(qǐng)右鍵點(diǎn)擊庫(kù)列表并選擇Refresh Library Browser。
下圖顯示了示例子庫(kù)mylib2,它在庫(kù)瀏覽器中的名稱為My Sublibrary。
由于您創(chuàng)建的回調(diào),點(diǎn)擊My Sublibrary將顯示mylib2庫(kù)的內(nèi)容。
指定庫(kù)列表中的庫(kù)順序
您可以通過(guò)向 MATLAB 路徑中添加一個(gè)sl_customization.m文件并為您的庫(kù)設(shè)置排序優(yōu)先級(jí),從而指定您的庫(kù)相對(duì)于列表中其他庫(kù)的順序。例如,要讓您的庫(kù)出現(xiàn)在列表的頂部,可以將排序優(yōu)先級(jí)設(shè)置為-2。默認(rèn)情況下,Simulink 庫(kù)的排序優(yōu)先級(jí)為-1。其他庫(kù)的排序優(yōu)先級(jí)默認(rèn)為0,這些庫(kù)顯示在 Simulink 庫(kù)的下面。排序優(yōu)先級(jí)相同的庫(kù)按字母順序顯示。
以下示例文件sl_customization.m的內(nèi)容將新庫(kù)放置在庫(kù)列表的頂部。
function sl_customization(cm) % Change the order of libraries in the Simulink Library Browser. cm.LibraryBrowserCustomizer.applyOrder({'My Library',-2}); end
要使自定義立即生效,請(qǐng)?jiān)?MATLAB 命令行窗口中輸入:
sl_refresh_customizations
責(zé)任編輯:彭菁
-
matlab
+關(guān)注
關(guān)注
187文章
2988瀏覽量
232590 -
瀏覽器
+關(guān)注
關(guān)注
1文章
1040瀏覽量
35923 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4361瀏覽量
63621
原文標(biāo)題:如何在Matlab中建立屬于自己的庫(kù)(針對(duì)公司設(shè)計(jì)MBD產(chǎn)品)-編號(hào)Matlab0001
文章出處:【微信號(hào):新能源入門客,微信公眾號(hào):新能源入門客】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
如何在protel元件庫(kù)中快速找到自己所需元件所在的元件庫(kù)
altum designer 中自己建立的集成庫(kù)為什么生成不了pcb?求指教....
請(qǐng)問(wèn)如何在matlab里建立適應(yīng)度函數(shù)?
如何在Matlab中建立四旋翼飛行模型
如何在IAR建立的工程中開啟FPU并使用DSP庫(kù)呢
如何建立一個(gè)屬于自己的AVR的RTOS
怎樣去創(chuàng)建屬于自己的Iconfont圖標(biāo)庫(kù)呢
M24LR04E-R EEPROM如何在收發(fā)器和MatLab之間建立通信?
如何在uclinux中添加自己應(yīng)用程序的詳細(xì)過(guò)程
如何建立一個(gè)屬于自己的AVR的RTOS
如何在matlab中實(shí)現(xiàn)Virtual Reality 技術(shù)
如何在Altium Designer上面建立自己的3D庫(kù)

如何在MATLAB中開發(fā)基于像素的視頻和圖像處理算法

如何在Matlab中建立屬于自己的庫(kù)(針對(duì)公司設(shè)計(jì)MBD產(chǎn)品)

評(píng)論