このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
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)