matlab 泰勒函数逼近

用matlab做x*sin(x)的泰勒级数 和原函数比较怎么做?
2025-01-02 06:15:56
推荐回答(3个)
回答1:

1、首先在电脑中打开matlab软软件,清空工作界面,如下图所示。

2、然后定义一个符号变量;syms z;,如下图所示。

3、接着定义一个函数,例如sin函数;y=sin(z);,如下图所示。

4、输入求解泰勒展开的函数;ty=taylor(y,z),如下图所示。

5、接着输入下面的指令,显示查看结果;subplot(1,2,1),ezplot(y,[-5,5]),grid on。

6、然后运行,显示结果如下图。

回答2:

close all
clear,clc

syms x;
f = x*sin(x);
t = taylor(f);

% 画x*sin(x)原函数
plotT = ezplot(f, [-3, 3]);
set(plotT,'Color','red','LineWidth',4);

% 画x*sin(x)(n = 2 4 6 8)阶泰勒级数的曲线
NN = 3:2:9;
x1 = -3:0.01:3;
for I = 1:4
y = taylor(f,NN(I)); % degree n-1 functions
y1 = subs(y,x,x1);
PY(I,:) = y1(1,:); % degree n-1 functions
end

hold on;
plot(x1,PY','LineWidth',2);
xlabel('x')
ylabel('Tn(x)')
title('Taylor Series Expansion')
legend('sin(x)/x','n = 2','n = 4','n = 6','n = 8','Location','North')
grid on

回答3:

function y=solve1(x)
syms x y
user_entry=input('请输入函数:')
y=sym(user_entry)
Y=taylor(y)
subplot(1,3,1)
ezplot(x,y);
hold on;
ezplot(x,Y);
hold off;
subplot(1,3,2)
ezplot(x,y);
subplot(1,3,3)
ezplot(x,Y);
运行一下,不知道你要的比较是什么样的