function y = taylor1(f, x, n, x0)
% f 为要分解函数
% x 为自变量
% n 为要展开为n+1项(n阶导数)
% x0 为关于 x0 展开
if ischar(x0)
x0=str2num(x0);
end
f1 = subs(f, 'x', 'x0');
F = f1;
a = f1;
for i = 1:n-1
a = diff(a); % 迭代求a的n阶导
b = (a/factorial(i)) * (x - x0)^i; % factorial 求阶乘
F = F + b;
y = F;
end
y=eval(y);
首先对x0进行判断,看是数字还是字符,字符的话就转化为数值。
最后使用eval函数进行求值,就可以吧x0带入!