Matlabでは、私は一般的に次のようなことを行います
f = @(x) x.^2;
xx = 0:.1:1;
ff = f(xx);
そのため、f は関数ハンドルで、xx と ff は両方とも 1x11 ベクトルです。
ただし、何らかの理由で関数ハンドル f を次のように定義する必要がある場合
f = @(x) 1;
xx と ff のコードを変更しない場合、xx はベクトルのままですが、ff はそうではなく、double になります。
私のコードの続きは ff が 11x1 ベクトルであると仮定しているので、これはもちろん厄介です。
したがって、私の最初の質問は、私のコードがそもそも健全であるかどうかです。もしそうなら、「定数 f」の場合に動作させるにはどうすればよいですか? そうでない場合、どのように書き直せばよいですか?
これは確かにmatlab の定数匿名関数が配列ではなく 1 つの値のみを返すことに似て いますが、そのスレッドで答えを見つけることができません。