-5

我一生都无法弄清楚如何在 MATLAB 中创建一个函数来执行此操作。我对 MATLAB 完全陌生,我真的不知道从哪里开始。我知道如何编写一个函数来计算阶乘,但我不知道如何使用循环将每个下一项添加到我想要的项数.. 一些帮助将不胜感激。这是问题所在

4

2 回答 2

1

你可以试试这个

syms x Y = sin(x);

Y_1 = taylor(Y,1);

Taylor 将以一系列一阶展开 Y_1。如果您想扩展订单,n只需输入taylor(Y,n)

如果您想在某个点上评估泰勒级数,x0请致电

subs(Y_1,x0)

于 2013-01-26T23:25:25.350 回答
0

自己找到了答案。请注意,sinx 和 sin(x) 之间存在差异

function  [sinx, error] = sinx_approx(x)
%   approximates the value of sin(x), the approximation is more accurate as
%   the number of terms selected is increased. 

n= input('Up to how many terms would you like to evaluate?');

sinx=0;
for i=1:1:n
    sinx=(-1)^(i+1) * x.^(2*i-1)/ factorial(2*i-1)+ sinx;
    error=((sin(x)-sinx)/sin(x))*100;
    display(sinx);
    display(error);
end    



end

%%Factorial 是一个内置命令

于 2013-01-27T03:05:22.657 回答