私はMatlabで関数のテイラー総和をコーディングしようとしています.McLaurin Making を実際に評価しx=0
ます.
これは私がこれまでに試したコードです:
>> a = -100;
b = 100;
n = 20;
vectorx = linspace(a,b,50);
vectory = [];
sumterms = [];
syms x y a;
y = sin(a);
for i = 1:n
t = (diff(y,i-1) / factorial(i-1)) * (x-0)^(i-1);
sumterms = [sumterms;t];
end;
sumterms
for j = 1:length(vectorx)
x_i = vectorx(j);
aux = 0;
for k = 1:length(sumterms)
sumterm = sumterms(k);
aux = aux + subs(sumterm, [a,x], [0,x_i]);
end
vectory = [vectory;aux];
end
length(vectory)
length(vectorx)
plot (vectorx, vectory)
しかし、正しい結果が得られません。各文をステップオーバーしましたが、何が問題なのか実際にはわかりません。
これは、sin(x) のプロット結果です。
そして、これは exponential(x) のプロットです
それぞれのSumterms結果が画像キャプチャに表示され、問題ないように見えますが、評価にエラーがあると思います。