symWriteSSC
新規 Simscape コンポーネントの作成
構文
説明
symWriteSSC( は、既存のコンポーネント newComponentName,templateComponentName,eqns)templateComponentName をテンプレートとして使用し、eqns を追加して、新規の Simscape™ コンポーネント newComponentName を作成します。そのため、新規のコンポーネントは、テンプレート コンポーネントから取得された既存の方程式と、追加された方程式の両方をもつことになります。
symWriteSSC( は、1 つ以上の newComponentName,templateComponentName,eqns,Name,Value)Name,Value 引数のペアによって指定された追加オプションを使用します。
例
既存のコンポーネントをテンプレートとして使用し、方程式を追加して、新規の Simscape コンポーネントを作成します。
現在のフォルダーに Simscape コンポーネント spring.ssc があるとします。
type('spring.ssc');component spring < foundation.mechanical.rotational.branch
parameters
spr_rate = { 10, 'N*m/rad' };
end
variables
phi = { value = { 0, 'rad'}, priority = priority.high };
end
function setup
if spr_rate <= 0
pm_error('simscape:GreaterThanZero','Spring rate' )
end
end
equations
w == phi.der;
t == spr_rate*phi;
end
end新規方程式を作成する際、これから使用するコンポーネントのパラメーター名や変数名をもつシンボリック変数を作成します。さらに、シンボリック変数 u を作成して、回転バネのエネルギーを表します。
syms spr_rate phi u
エネルギー u を定義する方程式を作成します。
eq = u == spr_rate*phi^2/2;
新規のコンポーネント myRotationalSpring.ssc は、コンポーネント spring.ssc のコピーに回転バネのエネルギーを定義する方程式を追加したものになります。
symWriteSSC('myRotationalSpring.ssc','spring.ssc',eq)
Warning: Equations contain undeclared variables 'u'. > In symWriteSSC (line 94)
symWriteSSC はコンポーネント myRotationalSpring.ssc を作成します。
type('myRotationalSpring.ssc');component myRotationalSpring
parameters
spr_rate = { 10, 'N*m/rad' };
end
variables
phi = { value = { 0, 'rad'}, priority = priority.high };
end
function setup
if spr_rate <= 0
pm_error('simscape:GreaterThanZero','Spring rate' )
end
end
equations
w == phi.der;
t == spr_rate*phi;
u == phi^2*spr_rate*(1.0/2.0);
end
endテンプレート コンポーネントとは異なるタイトルおよび説明テキストをもつ Simscape コンポーネントを作成します。
現在のフォルダーに Simscape コンポーネント spring.ssc があるとします。このコンポーネントにはタイトルまたは説明テキストがありません。
type('spring.ssc');component spring < foundation.mechanical.rotational.branch
parameters
spr_rate = { 10, 'N*m/rad' };
end
variables
phi = { value = { 0, 'rad'}, priority = priority.high };
end
function setup
if spr_rate <= 0
pm_error('simscape:GreaterThanZero','Spring rate' )
end
end
equations
w == phi.der;
t == spr_rate*phi;
end
end新規方程式を作成する際、これから使用するコンポーネントのパラメーター名や変数名をもつシンボリック変数を作成します。さらに、シンボリック変数 u を作成して、回転バネのエネルギーを表します。
syms spr_rate phi u
エネルギー u を定義する方程式を作成します。
eq = u == spr_rate*phi^2/2;
コンポーネント spring.ssc に基づいて、新規のコンポーネント myRotationalSpring.ssc を作成します。方程式 eq、"Rotational Spring" というタイトルおよび数行の説明テキストを新規のコンポーネントに追加します。
symWriteSSC('myRotationalSpring.ssc','spring.ssc',eq,... 'H1Header','% Rotational Spring',... 'HelpText',{'% The block represents an ideal mechanical rotational linear spring.',... '% Connections R and C are mechanical rotational conserving ports.'... '% The block positive direction is from port R to port C. This means'... '% that the torque is positive if it acts in the direction from R to C.'})
Warning: Equations contain undeclared variables 'u'. > In symWriteSSC (line 94)
symWriteSSC はコンポーネント myRotationalSpring.ssc を作成します。
type('myRotationalSpring.ssc');component myRotationalSpring
% Rotational Spring
% The block represents an ideal mechanical rotational linear spring.
% Connections R and C are mechanical rotational conserving ports.
% The block positive direction is from port R to port C. This means
% that the torque is positive if it acts in the direction from R to C.
parameters
spr_rate = { 10, 'N*m/rad' };
end
variables
phi = { value = { 0, 'rad'}, priority = priority.high };
end
function setup
if spr_rate <= 0
pm_error('simscape:GreaterThanZero','Spring rate' )
end
end
equations
w == phi.der;
t == spr_rate*phi;
u == phi^2*spr_rate*(1.0/2.0);
end
end入力引数
作成する Simscape コンポーネントの名前。一重引用符で囲まれたファイル名として指定します。ファイルには拡張子 .ssc が付いていなければなりません。ファイル拡張子を指定しない場合、symWriteSSC によって .ssc であると仮定されます。絶対パスを指定しない場合は、symWriteSSC によって現在のフォルダーに新規のコンポーネントが作成されます。
例: 'MyNewComponent.ssc'
テンプレートとなる Simscape コンポーネントの名前。一重引用符で囲まれたファイル名として指定します。ファイルには拡張子 .ssc が付いていなければなりません。ファイル拡張子を指定しない場合、symWriteSSC によって .ssc であると仮定されます。コンポーネントは MATLAB® パス上または現在のフォルダーになければなりません。
例: 'TemplateComponent.ssc'
シンボリック方程式。行ベクトルとして指定します。
例: [ y(t) == diff(x(t), t), m*diff(y(t), t, t) + b*y(t) + k*x(t) == F]
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用して名前と値の各ペアを区切り、Name を引用符で囲みます。
例: symWriteSSC('myComp.ssc','template.ssc',eq,'H1Header','% New title','HelpText',{'% Description of the','% new component'})
タイトル。% で始まる文字 (char 型) の行ベクトルとして指定します。最初の文字が % ではない場合、symWriteSSC によって % が追加されます。
テンプレート コンポーネントにタイトルが指定されている場合に H1Header を使用すると、新規のコンポーネントには H1Header によって指定されたタイトルが使用されます。テンプレート コンポーネントにタイトルが指定されている場合に H1Header を使用せずに symWriteSSC を呼び出すと、新規のコンポーネントにはテンプレート コンポーネントと同じタイトルが使用されます。
例: 'H1Header','% New title'
説明テキスト。文字の行ベクトルの cell 配列として指定します。それぞれの行ベクトルは % で始めなければなりません。最初の文字が % ではない場合、symWriteSSC によって % が追加されます。
テンプレート コンポーネントに説明テキストが指定されている場合に HelpText を使用すると、新規のコンポーネントには HelpText によって指定されたテキストのみが使用されます。この場合、symWriteSSC は、テンプレート コンポーネントの説明テキストを新規のコンポーネントにコピーしません。テンプレート コンポーネントにタイトルが指定されている場合に HelpText を使用せずに symWriteSSC を呼び出すと、新規のコンポーネントにはテンプレート コンポーネントと同じ説明テキストが使用されます。
例: 'HelpText',{'% Description of the','% new component'}
バージョン履歴
R2016a で導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)