何必手算?Matlab求解泰勒级数|Matlab符号计算


clc %清屏
close all %关闭所有窗口
clear %清空内存
syms Ts s %定义符号变量
order = 4; %定义保存泰勒级数前4项
f = exp(Ts*s); %变换前的指数函数
%泰勒级数展开
res = taylor(f, s, "Order", order);
symdisp(res);
%将采样时间定义为1,为后面绘图做准备
res = subs(f, Ts, 1);
%线性化后的函数
g = 1 + Ts*s;
%采样时间同样定义为1
g = subs(g, Ts, 1);
%绘制图1
fplot([res g], "LineWidth", 2);
grid on;
legend('origin', 'Linear');
%绘制图2
figure;
f = subs(f, Ts, 1);
fplot(f, "LineWidth", 2);
grid on;
hold on;
%分别取前5,8,10项进行对比
for order = [5 8 10]
res = taylor(f, s, "order", order);
fplot(res, "LineWidth", 3);
end
%设置图例
legend("orgin", "order=5", "order=8", "order=10");
%设置横坐标范围
xlim([-10 10]);