symReadSSCVariables
Simscape コンポーネントからの変数の読み込み
構文
説明
[
は、names
,values
,units
] = symReadSSCVariables(componentName
)componentName
と呼ばれる Simscape™ コンポーネントから、すべての変数の名前、値および単位を含む cell 配列を返します。
[
は、名前を変数 names
,values
,units
] = symReadSSCVariables(componentName
,'ReturnFunctions',true)t
のシンボリック関数として返します。
例
Simscape コンポーネントの変数
Simscape コンポーネントの変数の名前、値および単位を読み込みます。
現在のフォルダーに Simscape コンポーネント friction.ssc
があるとします。
type('friction.ssc');
component friction < foundation.mechanical.rotational.branch parameters brkwy_trq = { 25, 'N*m' }; % Breakaway friction torque Col_trq = { 20, 'N*m' }; % Coulomb friction torque visc_coef = { 0.001, 'N*m*s/rad' }; % Viscous friction coefficient trans_coef = { 10, 's/rad' }; % Transition approximation coefficient vel_thr = { 1e-4, 'rad/s' }; % Linear region velocity threshold end parameters (Access=private) brkwy_trq_th = { 24.995, 'N*m' }; % Breakaway torque at threshold velocity end function setup % Parameter range checking if brkwy_trq <= 0 pm_error('simscape:GreaterThanZero','Breakaway friction torque' ) end if Col_trq <= 0 pm_error('simscape:GreaterThanZero','Coulomb friction torque' ) end if Col_trq > brkwy_trq pm_error('simscape:LessThanOrEqual','Coulomb friction torque',... 'Breakaway friction torque') end if visc_coef < 0 pm_error('simscape:GreaterThanOrEqualToZero','Viscous friction coefficient') end if trans_coef <= 0 pm_error('simscape:GreaterThanZero','Transition approximation coefficient') end if vel_thr <= 0 pm_error('simscape:GreaterThanZero','Linear region velocity threshold') end % Computing breakaway torque at threshold velocity brkwy_trq_th = visc_coef * vel_thr + Col_trq + (brkwy_trq - Col_trq) * ... exp(-trans_coef * vel_thr); end equations if (abs(w) <= vel_thr) % Linear region t == brkwy_trq_th * w / vel_thr; elseif w > 0 t == visc_coef * w + Col_trq + ... (brkwy_trq - Col_trq) * exp(-trans_coef * w); else t == visc_coef * w - Col_trq - ... (brkwy_trq - Col_trq) * exp(-trans_coef * abs(w)); end end end
コンポーネント friction.ssc
の変数の名前、値および単位を読み込みます。
[names,values,units] = symReadSSCVariables('friction.ssc');
この例では、結果の cell 配列のすべての要素がスカラーです。cell 配列はシンボリック ベクトルに変換できます。
names_sym = cell2sym(names)
names_sym = [ t, w]
values_sym = cell2sym(values)
values_sym = [ 0, 0]
MATLAB® ワークスペースにある cell 配列 names
の要素から個々のシンボリック変数を作成します。このコマンドは、シンボリック変数 t
と w
を sym
オブジェクトとしてワークスペースに作成します。
syms(names)
関数として返される Simscape コンポーネントの変数
Simscape コンポーネントの変数の名前を読み込むと共に、それらを変数 t
のシンボリック関数に変換します。
現在のフォルダーに Simscape コンポーネント source.ssc
があるとします。
type('source.ssc');
component source % Electrical Source % Defines an electrical source with positive and negative external nodes. % Also defines associated through and across variables. nodes p = foundation.electrical.electrical; % :top n = foundation.electrical.electrical; % :bottom end variables(Access=protected) i = { 0, 'A' }; % Current v = { 0, 'V' }; % Voltage end branches i : p.i -> n.i; end equations v == p.v - n.v; end end
'ReturnFunctions'
を true
に設定して、コンポーネント source.ssc
の変数の名前を読み込みます。
[names,~,~] = symReadSSCVariables('source.ssc','ReturnFunctions',true);
この例では、結果の cell 配列のすべての要素がスカラーです。cell 配列はシンボリック ベクトルに変換できます。
names_symfun = cell2sym(names)
names_symfun = [ i(t), v(t)]
MATLAB ワークスペースにある cell 配列 names
の要素から個々のシンボリック関数を作成します。このコマンドは、シンボリック関数 i
と v
を symfun
オブジェクト、変数 t
を sym
オブジェクトとしてワークスペースに作成します。
syms(names)
入力引数
componentName
— Simscape コンポーネント名
一重引用符で囲まれたファイル名
Simscape コンポーネント名。一重引用符で囲まれたファイル名として指定します。ファイルには拡張子 .ssc
が付いていなければなりません。ファイル拡張子を指定しない場合、symReadSSCVariables
によって .ssc
であると仮定されます。コンポーネントは MATLAB パス上または現在のフォルダーになければなりません。
例: 'MyComponent.ssc'
出力引数
names
— Simscape コンポーネントのすべての変数の名前
cell 配列
Simscape コンポーネントのすべての変数の名前。cell 配列として返されます。
データ型: cell
values
— Simscape コンポーネントのすべての変数の値
cell 配列
Simscape コンポーネントのすべての変数の値。cell 配列として返されます。
データ型: cell
units
— Simscape コンポーネントのすべての変数の単位
cell 配列
Simscape コンポーネントのすべての変数の単位。cell 配列として返されます。
データ型: cell
バージョン履歴
R2016a で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)