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