天天看點

MATLAB的Simulink常用信号源子產品(二)

在MATLAB的Simulink中有些常用的子產品,今天主要介紹From Workspace子產品和From File子產品。

MATLAB的Simulink常用信号源子產品(二)

1.From Workspace子產品

Simulink模型有時需要将Base workspace 的資料導入到模型中進行仿真,From Workspace子產品提供了這樣一個導入功能,它将儲存在 Base Workspace,Model Workspace或 Mask Workspace 等處的變量作為信号導入Simulink模型。

MATLAB的Simulink常用信号源子產品(二)

參數設定

MATLAB的Simulink常用信号源子產品(二)
MATLAB的Simulink常用信号源子產品(二)

參數說明

Data:導入Simulink模型的變量名,可以是變量名也可以是MATLAB表達式,預設
值為simin。
Simin的資料類型可以是以下3種類型:
(1)時間序列Timeseries對象,可以通過timeseries函數建立。
(2)二維矩陣,矩陣第一列為仿真采樣時間序列,其餘每清單示對應采樣時刻的信
号值。
(3)結構體類型,可以包含仿真采樣時間序列作為其成員變量,也可以不包含。
Timeseries對象通常包括Name、Time、TimeInfo、 Data和 DataInfo 5個成
員變量,其中Time中存儲仿真采樣時間向量, Data中存儲對應仿真采樣時刻的信
号量。           

(1)時間序列Timeseries對象,可以通過timeseries函數建立。

可以通過timeseries 函數來建立一個時間序列對象,格式為ts = timeseries( data, time),函數參數中data表示信号序列, time表示采樣時間序列,其餘參數timeInfo, dataInfo等可采用預設值,例如:

ts = timeseries(sin([0:0.01:4*pi]),[0:0.01:4*pi]);           
timeseries


  常見屬性:
            Name: 'unnamed'
            Time: [1257x1 double]
        TimeInfo: tsdata.timemetadata
            Data: [1x1x1257 double]
        DataInfo: tsdata.datametadata           

仿真圖

MATLAB的Simulink常用信号源子產品(二)

示波器輸出

MATLAB的Simulink常用信号源子產品(二)

(2)二維矩陣,矩陣第一列為仿真采樣時間序列,其餘每清單示對應采樣時刻的信号值。

二維矩陣導入信号時,第一列存儲仿真采樣時間序列,後面每列為一個信号列向量。例如:

maxtri = zeros(size(repmat([0:0.1:10]',[1 3])));%初始化矩陣
%給資料矩陣指派
maxtri(:,1) = [0:0.1:10]';
maxtri(:,2) = 3*sin([0:0.1:10]');
maxtri(:,3) =2*cos([0:0.1:10]');           
MATLAB的Simulink常用信号源子產品(二)

示例2

仿真圖

MATLAB的Simulink常用信号源子產品(二)

示波器輸出

MATLAB的Simulink常用信号源子產品(二)

(3)結構體類型,可以包含仿真采樣時間序列作為其成員變量,也可以不包含。

結構體則通常包括3個成員變量time ,signals和 blockName。signals這個成員本身又是一個包含values , dimension和label 3個成員的結構體。支援From Workspace子產品的結構體應該具有以下3個成員變量:

s = struct('time',[0:0.01:10]','signals',struct('values',sin([0:0.01:10]'),'dimension',length([0:0.01:10])));           

示例3

MATLAB的Simulink常用信号源子產品(二)

示波器輸出

MATLAB的Simulink常用信号源子產品(二)

其他參數說明

Output data type:From Workspace子產品輸出信号的資料類型。
Sample time:子產品的采樣時間。因Data中一般都按照系統解算器定義的采樣時
間序列,此處推薦使用預設-1。
Interpolate data:當某些信号在一些采樣時刻點沒有提供對應的采樣資料時,
是否根據線性插值計算出這個時刻的信号值?當勾選此選項則進行線性插值,否則
則延用前一個采樣時刻的信号值。
Enable zero-crossing detection:勾選是否啟動過零檢測功能。
Form output after final data value by:當模型的仿真時間範圍超出
From workspace的data提供資料的時間範圍時,需要選擇如何對提供的采樣時
間範圍外的信号進行插值預測或預設值輸出,選項包括Extrapolation(外部插
值)、Setting to zero(保持О輸出)、Holding finalvalue(輸出最後一個
值)和Cyclic repetition(周期循環輸出)。如果需要産生周期循環的自定義
信号,From Workspace 也是個不錯的選擇,準備好了采樣時間和采樣資料的變量           

2.From File子產品

資料存儲是MATLAB/Simulink 的Workspace雖然可以儲存仿真過程資料,但是畢竟是暫時的,關閉MATLAB之後就自動清除掉了。有時需要将仿真得到的寶貴實驗資料長期存放在硬碟上,以便後續使用。MATLAB特有的資料存儲格式是. mat ,在MATLAB中可以使用load從硬碟載入mat檔案内部資料到Workspace,使用save将Workspace的資料存儲到mat 檔案中去。

Simulink提供了From File子產品,可以導入硬碟上的mat檔案到Simulink模型中作為輸入信号連接配接其他子產品進行仿真。該子產品有1個輸出端口,并顯示所導人的mat檔案名在子產品圖示中央,如圖所示。

MATLAB的Simulink常用信号源子產品(二)

參數設定

MATLAB的Simulink常用信号源子產品(二)

參數說明

File name:子產品所導人的mat檔案名,要求mat檔案是MATLAB timeseries 
object或矩陣2種資料格式中的一種。
與From Workspace的導入資料格式相比缺少對結構體類型的支援,并且矩陣的
排布方式也有所不同。From File要求第一行是采樣時間向量,第二行到最後一
行是分别對應采樣時刻的信号值向量。
Output data type:子產品輸出資料類型的設定, From File子產品支援除字長超
過32位的固定點資料類型以外所有的Simulink 内建資料類型。
Sample time:子產品的采樣時間設定,預設是0﹐表示連續采樣時間,以模型的基礎
采樣率(最高采樣頻率)作為此子產品的采樣時間。如果填入一1,則繼承接受From 
File 信号的子產品(即其後所連接配接的子產品)的采樣時間。
Data extrapolation before first data point :在 mat 檔案提供的資料
時間範圍之前,SImu-link進行插值所用算法的選擇,包括Linear extrapolation
(線性外插),Hold first value(使用mat 檔案第一個采樣點的值)和Ground
 value(使用對應資料類型的0值)。
 Data interpolation within time range:在 mat檔案提供的資料時間範圍
 内的插值算法選擇,包括Linear interpolation(線性内插)和Zero order 
 hold(使用相鄰兩個采樣時刻值中的首個。)
 Data extrapolation after last data point:在mat檔案提供的資料時間
 範圍之後,Simulink進行插值所用算法的選擇,算法選擇同 Data extrapolation 
 before first data point。
            

示例4

MATLAB的Simulink常用信号源子產品(二)
maxtri = zeros(size(repmat([0:0.1:10],[3 1])));%初始化矩陣
%給資料矩陣指派
maxtri(1,:) = [0:0.1:10];
maxtri(2,:) = 3*sin([0:0.1:10]);
maxtri(3,:) =2*cos([0:0.1:10]);
save maxtri.mat maxtri           

示波器輸出

MATLAB的Simulink常用信号源子產品(二)

參考内容

[1] 部落格園作者叮叮當當sunny的文章《Simulink仿真入門到精通(二) Simulink子產品 》,文章連結如下:https://www.cnblogs.com/dingdangsunny/p/12235689.html#_label0

[2] 孫忠潇.Simulink仿真及代碼生成技術入門到精通[M].北京:北京航空航天大學出版社,2015.

本文内容來源于網絡,僅供參考學習,如内容、圖檔有任何版權問題,請聯系處理,24小時内删除。

作 者 | 郭志龍

編 輯 | 郭志龍

校 對 | 郭志龍

繼續閱讀