0

私の一般的な問題は、次の例で示されています。

f=@(x,y) cos(x.*y);
Yvalues = linspace(0,1,50);
W = @(x) f(x,Yvalues);

一度に1つのポイントでのみWを評価したい場合は、これで問題なく動作します。例えば:

norm(W(pi/3)-f(pi/3,Yvalues))
ans =

      0

しかし、どのようにしてWを任意の数のポイントで評価することができますか?

前もって感謝します。

4

1 に答える 1

1

変えたら

f=@(x,y) cos(x.*y);

f=@(x,y) cos(x'*y);

W([1 2 3]) を実行できます

例えば、

>> f = @(x,y) cos(x'*y);
>> yv = linspace(0,1,5);
>> W = @(x) f(x,yv);
>> W(1)
ans =
    1.0000    0.9689    0.8776    0.7317    0.5403
>> W(2)
ans =
    1.0000    0.8776    0.5403    0.0707   -0.4161
>> W(3)
ans =
    1.0000    0.7317    0.0707   -0.6282   -0.9900
>> W([1 2 3])
ans =
    1.0000    0.9689    0.8776    0.7317    0.5403
    1.0000    0.8776    0.5403    0.0707   -0.4161
    1.0000    0.7317    0.0707   -0.6282   -0.9900
于 2011-09-09T22:15:03.367 に答える