主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

matlabFunctionBlock

MATLAB関数ブロックへのシンボリック式の変換

説明

matlabFunctionBlock (fは,fをMATLAB®関数ブロックに変換し,金宝app仿真软件®モデルで使用できるようにします。ここで,fはシンボリック式,シンボリック関数,またはシンボリックな式か関数のベクトルになります。

は,作成または変更するブロックの名前を指定します。

matlabFunctionBlock (f1,…,fNは,シンボリック式または関数f1,…,fNN個の出力をもつMATLAB関数ブロックに変換します。f1,…,fNの各要素は,シンボリック式,シンボリック関数,またはシンボリックな式か関数のベクトルになります。

matlabFunctionBlock (___名称,值は1つ以上の名称,值の引数のペアで指定した追加オプションを使用して,シンボリック式,シンボリック関数またはシンボリック式またはシンボリック関数からなるベクトルをMATLAB関数ブロックに変換します。前の構文で使用した入力引数の後に名称,值を指定できます。

すべて折りたたむ

新しいモデルを作成し,シンボリック式をMATLAB関数ブロックへ変換します。评论オプションを指定して,ブロック内にコメントを含めます。

新しいモデルを作成して開きます。

new_system (my_system) open_system(“my_system”)

シンボリック式を作成します。

Syms x y z f = x²+ y²+ z²;

matlabFunctionBlockを使用して,シンボリック式を含むブロックmy_blockを作成します。matlabFunctionBlockは既存のブロックを上書きします。生成されたブロックをダブルクリックして開き,ブロックを定義する関数を編集します。

matlabFunctionBlock (my_system / my_block, f)
函数f = my_block(x,y,z) %#codegen %该函数由符号数学工具箱7.3版生成。f = x.^2+y.^2+z.^2;

コメント版本1.1をブロックに含めます。

matlabFunctionBlock (my_system / my_block, f,“评论”,“版本:1.1”)
函数f = my_block(x,y,z)…%版本:1.1 f = x.^2+y.^2+z.^2;

my_systemを保存して閉じます。

save_system (my_system) close_system(“my_system”)

新しいモデルを作成し,シンボリック関数をMATLAB関数ブロックへ変換します。

新しい空のモデルを作成して開きます。

new_system (“my_system”) open_system (“my_system”

シンボリック関数を作成します。

信谊xyzF (x, y, z) = x²+ y²+ z²;

fをMATLAB関数ブロックに変換します。ブロックをダブルクリックして,関数を確認します。

matlabFunctionBlock (“my_system / my_block”f)
函数f = my_block (x, y, z) % # codegen f = x ^ 2 + y ^ 2 + z。^ 2;

複数のシンボリック式を,複数の出力端子をもつMATLAB関数ブロックに変換します。

新しい空のモデルを作成して開きます。

new_system (“my_system”) open_system (“my_system”

3つのシンボリック式を作成します。

信谊xyzf = x ^ 2;g = y ^ 2;h = z ^ 2;

それらをMATLAB関数ブロックに変換します。matlabFunctionBlockは3つの出力端子をもつブロックを作成します。ブロックをダブルクリックして,関数を確認します。

matlabFunctionBlock (“my_system / my_block”, f, g, h)
函数[f,g,h] = my_block(x,y,z) %#codegen f = x.^2;如果nargout > 1 g = y.^2;结束nargout > 2 h = z.^2;结束

生成されたMATLAB関数ブロックを定義する関数の名前を指定します。

新しい空のモデルを作成して開きます。

new_system (“my_system”) open_system (“my_system”

シンボリック式を作成します。

信谊xyzF = x²+ y²+ z²;

ブロックを作成し,関数名をmy_functionに設定します。ブロックをダブルクリックして,関数を確認します。

matlabFunctionBlock (“my_system / my_block”f...“FunctionName”“my_function”
函数f = my_function(x,y,z) %#codegen f = x.²+y.²+z.²;

シンボリック式をMATLAB関数ブロックに変換するときに,matlabFunctionBlockは既定でコードを最適化します。この方法は,以降のこのファイルを使用した計算の簡素化および高速化に役立ちます。ただし,一部のシンボリック式やシンボリック関数では,そこからの最適化コードの生成に非常に時間がかかることがあります。コードの最適化を無効にするには,优化を使用します。

新しい空のモデルを作成して開きます。

new_system (“my_system”) open_system (“my_system”

シンボリック式を作成します。

信谊xR = x²*(x²+ 1);

matlabFunctionBlockを使用して,シンボリック式を含むブロックmy_blockを作成します。ブロックをダブルクリックし,ブロックを定義する関数を確認します。既定では,matlabFunctionBlockは最適化されたコードを含むファイルを生成します。

matlabFunctionBlock (“my_system / my_block”右)
函数r = my_block(x) %#codegen t2 = x.^2;r = t2。* (t2 + 1.0);

优化の値をに設定することによって,コードの最適化を無効にします。

matlabFunctionBlock (“my_system / my_block”r...“优化”假)
函数r = my_block (x) % # codegen r = x ^ 2。* (x ^ 2 + 1.0);

生成されたブロックの入力端子を形成する入力変数の順番を指定します。

新しい空のモデルを作成して開きます。

new_system (“my_system”) open_system (“my_system”

シンボリック式を作成します。

信谊xyzF = x²+ y²+ z²;

この式をMATLAB関数ブロックに変換します。既定では,matlabFunctionBlockはシンボリック式を変換するときに入力引数をアルファベット順に使用します。

matlabFunctionBlock (“my_system / my_block”f)
函数f = my_block (x, y, z) % # codegen f = x ^ 2 + y ^ 2 + z。^ 2;

引数varを使用して入力端子の順番を指定します。

matlabFunctionBlock (“my_system / my_block”f...“var”, [y z x])
函数f = my_block (y, z、x) % # codegen f = x ^ 2 + y ^ 2 + z。^ 2;

ブロックを作成するときに,出力変数および対応する端子の名前を変更します。

新しい空のモデルを作成して開きます。

new_system (“my_system”) open_system (“my_system”

シンボリック式を作成します。

信谊xyzF = x²+ y²+ z²;

この式をMATLAB関数ブロックに変換し,出力変数と出力端子の名前を指定します。ブロックをダブルクリックし,ブロックを定義する関数を確認します。

matlabFunctionBlock (“my_system / my_block”,f f + 1 f + 2,...“输出”, {“name1”“name2”“name3”})
函数[name1,name2,name3] = my_block(x,y,z) %#codegen t2 = x.^2;t3 = y ^ 2;t4 = z。^ 2;name1 = t2 + t3 + t4;如果nargout > 1 name2 = t2+t3+t4+1.0;结束nargout > 2 name3 = t2+t3+t4+2.0;结束

いくつかの名前と値のペアの引数を同時に使用してmatlabFunctionBlockを呼び出します。

新しい空のモデルを作成して開きます。

new_system (“my_system”) open_system (“my_system”

シンボリック式を作成します。

信谊xyzF = x²+ y²+ z²;

名前と値のペアの引数を使用してmatlabFunctionBlockを呼び出し,関数名,入力端子の順および出力端子の名前を指定します。ブロックをダブルクリックし,ブロックを定義する関数を確認します。

matlabFunctionBlock (“my_system / my_block”,f f + 1 f + 2,...“FunctionName”“my_function”“var”[y z x],...“输出”, {“name1”“name2”“name3”})
函数[name1,name2,name3] = my_function(y,z,x) %#codegen t2 = x.^2;t3 = y ^ 2;t4 = z。^ 2;name1 = t2 + t3 + t4;如果nargout > 1 name2 = t2+t3+t4+1.0;结束nargout > 2 name3 = t2+t3+t4+2.0;结束

入力引数

すべて折りたたむ

作成または変更するブロック。文字ベクトルとして指定します。

MATLAB関数ブロックに変換されるシンボリック入力。シンボリック式、シンボリック関数、シンボリックベクトルまたはシンボリック行列として指定します。

N出力のMATLAB関数ブロックに変換されるシンボリック入力。コンマで区切られたいくつかのシンボリック式,シンボリック関数,シンボリックベクトルまたはシンボリック行列として指定します。

名前と値のペアの引数

引数名称,值のオプションのコンマ区切りペアを指定します。的名字は引数名,价值は対応する値です。的名字は引用符で囲まなければなりません。Name1, Value1,…,的家のように,複数の名前と値のペアの引数を任意の順番で指定できます。

例:matlabFunctionBlock (my_system / my_block, f,‘FunctionName’,‘myfun’)

ファイルヘッダーに含めるコメント。文字ベクトル、文字ベクトルの细胞配列、または字符串ベクトルとして指定します。

関数名。文字ベクトルとして指定します。既定では,matlabFunction(块,…)を関数名として使用します。

生成された関数の関数名の指定を参照してください。

コードの最適化を回避するフラグ。または真正的で指定します。

ファイルへの書き込みの際に,matlabFunctionBlockt0t1といった名前の中間変数を使用してコードを最適化します。

コードの最適化の無効化を参照してください。

入力変数と生成されたブロックの対応する入力端子の順番。文字ベクトル、シンボリック変数から成るベクトル、または文字ベクトル、シンボリック変数またはシンボリック変数から成るベクトルの 1 次元 cell 配列として指定します。

指定された入力端子の数は,f内の自由変数の数以上でなければなりません。varで指定される入力端子および输出で指定される出力端子には,同じ名前を使用しないでください。

既定では,シンボリック式を変換するときの順序は,アルファベット順です。シンボリック関数を変換するときは、入力引数は他の変数の前に表示され、その他の変数はアルファベット順に並べ替えられます。

生成されたブロックの入力端子の指定を参照してください。

出力端子名。文字ベクトルの1次元细胞配列として指定します。出力端子名を指定しない場合,matlabFunctionBlockでは語とそれに続く出力端子番号から構成される名前(out3など)を使用します。

varで指定される入力端子および输出で指定される出力端子には,同じ名前を使用しないでください。出力端子の指定を参照してください。

R2009aで導入