私は、関数はsq_dist()
と言いましょう。この関数は、sq_dist(a,b)
またはsq_dist(a)
のように呼び出すことができます。この関数は動作が遅いので、より速く動作することを望むMexバージョンを作成しようとしています。私はそうするためにMatlab Coder GUIを使用しています。 (入力画面の定義で)入力タイプを定義するために、私は入力を自動的に決定するためにsq_dist(a,b)
とsq_dist(a
)を呼び出す関数を使用します。これは私にエラー:Error determining type for input sq_dist:b. Index exceeds matrix dimensions
を与えます。 sq_distが、私はコーダにその入力を定義する方法を確認していないさまざまな方法で呼び出すことができるので、Matlab Coderでさまざまな入力数を持つ関数の入力タイプを定義する方法は?
n = 50;
dim = 50;
a = rand(n, dim);
b = rand(n, dim);
u = sq_dist(a, b);
v = sq_dist(a);
ので:ここに私の関数です。
私は手動でMEXファイルがコンパイルされているが、私はランタイムエラーを取得a
とb
ためdouble :inf x :inf
への入力を設定した場合:Function 'sq_dist' called with wrong number of arguments: expected 2, received 1.
要するに