私の一般的な問題は、次の例で示されています。
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を任意の数のポイントで評価することができますか?
前もって感謝します。
私の一般的な問題は、次の例で示されています。
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を任意の数のポイントで評価することができますか?
前もって感謝します。
変えたら
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