Main Content

optim.coder.infbound

コード生成の無限境界サポート

説明

bnd = optim.coder.infbound は、コード生成で使用する無限境界を作成します。bndInf をサポートしないコード生成ターゲットの無限境界を表します。

bnd = optim.coder.infbound(sz) は、引数 sz と同じサイズの無限境界配列を返します。sz がスカラーの場合、返される配列のサイズは szsz 列です。

bnd = optim.coder.infbound(n1,n2,...,nt) は、スカラー値 n1n2、...、nt に対して、サイズが n1×n2×...×nt の無限境界配列を返します。

すべて折りたたむ

コード生成のターゲット ハードウェアが、境界として Inf または –Inf を常に受け入れるとは限りません。この場合は、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) に対しては下限がありません。このような境界は複数の方法で表現できます。

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) です。ここで、tsz の成分の数です。ただし、sz がスカラーの場合、返される配列のサイズは szsz 列です。

例: [2,3,1,4]

データ型: double

Inf 配列成分のサイズ。正の整数として指定します。

例: 2

データ型: double

拡張機能

バージョン履歴

R2022b で導入