用matlab写一个关于泰勒公式的代码,要求如下:用户选择sinx或者cosx,并选择几阶展开,绘制原函数与展开函数图像
时间: 2023-06-01 19:08:05 浏览: 151
matlab求解泰勒展开
好的,这是一个关于编程的问题,可以回答。下面是一个示例代码:
clc; clear all; close all;
disp('请选择函数:');
disp('1. sin(x)');
disp('2. cos(x)');
choice = input('');
if choice == 1
func = @sin;
func_name = 'sin(x)';
elseif choice == 2
func = @cos;
func_name = 'cos(x)';
else
disp('选择错误');
return;
end
disp('请选择展开阶数:');
n = input('');
x = linspace(-2*pi, 2*pi, 1000);
F = func(x);
G = zeros(1, length(x));
for k = 0:n
a_k = (-1)^k / factorial(2*k+1);
G = G + a_k * x.^(2*k+1);
end
figure;
plot(x, F, 'r', x, G, 'b--');
title(['原函数和', num2str(n), '阶展开函数,函数:', func_name]);
legend('原函数', '展开函数');
xlabel('x');
ylabel('f(x)');
阅读全文