matlab で正弦近似をシミュレートしようとすると、奇妙な問題が見つかりました。問題は、関数を配列に適用すると 1 つの結果が返されるのに対し、個々の値に関数を適用すると結果がわずかに異なることです。
この例でも同じ動作を得ることができました:
z = single(0:0.001:1);
F = @(x) (x.^2 - single(1.2342320e-001)).*x.^2; %some test function
z(999) % Returns 9.9800003e-001
F(z(999)) % Returns 8.6909407e-001
temp = F(z);
temp(999) % Voila! It returns 8.6909401e-001
また、いくつかのことを見つけました。1 つは、最初の結果が正しい (後者ではない) ことです。2 つ目は、用語を並べ替えると問題が解決する場合があることです。だから私はそれを取り除く方法がわかりません。