ヘルプ センターヘルプ センター
コード生成の無限境界サポート
bnd = optim.coder.infbound
bnd = optim.coder.infbound(sz)
bnd = optim.coder.infbound(n1,n2,...,nt)
bnd = optim.coder.infbound は、コード生成で使用する無限境界を作成します。bnd は Inf をサポートしないコード生成ターゲットの無限境界を表します。
bnd
Inf
例
bnd = optim.coder.infbound(sz) は、引数 sz と同じサイズの無限境界配列を返します。sz がスカラーの場合、返される配列のサイズは sz 行 sz 列です。
sz
bnd = optim.coder.infbound(n1,n2,...,nt) は、スカラー値 n1、n2、...、nt に対して、サイズが n1×n2×...×nt の無限境界配列を返します。
n
n1
n2
nt
すべて折りたたむ
コード生成のターゲット ハードウェアが、境界として Inf または –Inf を常に受け入れるとは限りません。この場合は、optim.coder.infbound を使用して境界を表現します。
optim.coder.infbound
たとえば、問題の上限が [Inf,1,10]、つまり x(2) <= 1 および x(3) <= 10 で、x(1) に対しては上限がないものとします。また、この問題の下限は [0,–Inf,0]、つまり x(1) >= 0 および x(3) >= 0 であり、x(2) に対しては下限がありません。このような境界は複数の方法で表現できます。
[Inf,1,10]
x(2) <= 1
x(3) <= 10
x(1)
[0,
Inf,0]
x(1) >= 0
x(3) >= 0
x(2)
ub1 = [optim.coder.infbound 1 10]
ub1 = 1×3 Inf 1 10
lb1 = [0 -optim.coder.infbound 0]
lb1 = 1×3 0 -Inf 0
% Or ub = optim.coder.infbound(1,3); ub(2) = 1; ub(3) = 10
ub = 1×3 Inf 1 10
lb = -optim.coder.infbound([1,3]); lb(1) = 0; lb(3) = 0
lb = 1×3 0 -Inf 0
これらの結果は MATLAB® のコードを実行すると生成され、MATLAB Inf 出力に表示されます。コード生成の optim.coder.infbound を実行すると、ターゲット ハードウェアに適した境界が得られます。
返される Inf 配列のサイズ。正の整数のベクトルとして指定します。通常、返される配列のサイズは sz(1)×sz(2)×...×sz(t) です。ここで、t は sz の成分の数です。ただし、sz がスカラーの場合、返される配列のサイズは sz 行 sz 列です。
sz(1)
sz(2)
sz(t)
t
例: [2,3,1,4]
[2,3,1,4]
データ型: double
double
Inf 配列成分のサイズ。正の整数として指定します。
例: 2
2
Optimization Toolbox™ ソルバーのコード生成には、fmincon でのコード生成の背景、quadprog 用のコード生成の背景、線形最小二乗のコード生成: 背景および非線形最小二乗のコード生成:背景に記述されている要件が適用されます。具体例:
ソルバーは、関数 codegen (MATLAB Coder) または MATLAB® Coder™ アプリを使用したコード生成をサポートしています。コードを生成するには MATLAB Coder ライセンスが必要です。
codegen
ターゲット ハードウェアは、標準的な倍精度浮動小数点計算をサポートしていなければなりません。単精度計算や固定小数点計算のコードは生成できません。
lsqlin の場合、lb 引数と ub 引数は、C の列数と同じ数のエントリをもつか、空 [] でなければなりません。それ以外の場合、lb 引数と ub 引数は、x0 引数と同じ数のエントリをもつか、空 [] でなければなりません。
lsqlin
lb
ub
C
[]
x0
R2022b で導入
fmincon | quadprog | lsqlin | lsqcurvefit | lsqnonlin
fmincon
quadprog
lsqcurvefit
lsqnonlin
この例の変更されたバージョンがあります。編集された方の例を開きますか?
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
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:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Contact your local office