急 在matlab中写个用泰勒级数计算arctan(x)的方程一定要用泰勒级数展开式算.我就是不知道这个无限加下去应该怎么处理,老是不停加停不下来怎么办~急不要用taylor这个本身就有的方程!要重新
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/19 04:31:20
急 在matlab中写个用泰勒级数计算arctan(x)的方程一定要用泰勒级数展开式算.我就是不知道这个无限加下去应该怎么处理,老是不停加停不下来怎么办~急不要用taylor这个本身就有的方程!要重新
急 在matlab中写个用泰勒级数计算arctan(x)的方程
一定要用泰勒级数展开式算.我就是不知道这个无限加下去应该怎么处理,老是不停加停不下来怎么办~急
不要用taylor这个本身就有的方程!要重新写个actan(x)方程 也不能用atan(x)
急 在matlab中写个用泰勒级数计算arctan(x)的方程一定要用泰勒级数展开式算.我就是不知道这个无限加下去应该怎么处理,老是不停加停不下来怎么办~急不要用taylor这个本身就有的方程!要重新
clear;clc;
x=1;
s=0;
y=atan(x);
for i=1:1e6
n=2*i-1;
s=s+(-(-1)^i)*(x^n)/n;
err=y-s;
if abs(err)
>> syms x;taylor(atan(x),10,0)
ans =
x-1/3*x^3+1/5*x^5-1/7*x^7+1/9*x^9
基本思想是,在有限项截断,根据下一项的绝对值来估计误差。
比如你算到7次,那么下一项的绝对值是|x^9/9|,只要它达到要求精度就停机。由于这个是Leibniz级数,截断误差满足|R7|<=|x^9/9|。
补充:
%给你个样板吧
function y = arctg(x)
if x == 0.0, y = 0.0; return; end
if ...
全部展开
基本思想是,在有限项截断,根据下一项的绝对值来估计误差。
比如你算到7次,那么下一项的绝对值是|x^9/9|,只要它达到要求精度就停机。由于这个是Leibniz级数,截断误差满足|R7|<=|x^9/9|。
补充:
%给你个样板吧
function y = arctg(x)
if x == 0.0, y = 0.0; return; end
if x < 0.0, y = -arctg(-x); return; end
if x > 1, y = arctg(1.0 / x); return; end
if x == 1.0, y = pi * 0.25; return; end
tol = 1.0e-6;
i = 1;
t = x; z = -x * x;
y = t;
while abs(t) >= tol
i = i + 2;
t = t * z;
y = y + t / i;
end
return
%现在的小孩啊,给了提示了还不肯多动动脑筋
收起
TAYLOR(f,n)
这个n可以自己设定啊~~比如10,够用了。