急 在matlab中写个用泰勒级数计算arctan(x)的方程一定要用泰勒级数展开式算.我就是不知道这个无限加下去应该怎么处理,老是不停加停不下来怎么办~急不要用taylor这个本身就有的方程!要重新
来源:学生作业帮助网 编辑:作业帮 时间:2024/08/27 10:46:39
![急 在matlab中写个用泰勒级数计算arctan(x)的方程一定要用泰勒级数展开式算.我就是不知道这个无限加下去应该怎么处理,老是不停加停不下来怎么办~急不要用taylor这个本身就有的方程!要重新](/uploads/image/z/2686494-30-4.jpg?t=%E6%80%A5+%E5%9C%A8matlab%E4%B8%AD%E5%86%99%E4%B8%AA%E7%94%A8%E6%B3%B0%E5%8B%92%E7%BA%A7%E6%95%B0%E8%AE%A1%E7%AE%97arctan%28x%29%E7%9A%84%E6%96%B9%E7%A8%8B%E4%B8%80%E5%AE%9A%E8%A6%81%E7%94%A8%E6%B3%B0%E5%8B%92%E7%BA%A7%E6%95%B0%E5%B1%95%E5%BC%80%E5%BC%8F%E7%AE%97.%E6%88%91%E5%B0%B1%E6%98%AF%E4%B8%8D%E7%9F%A5%E9%81%93%E8%BF%99%E4%B8%AA%E6%97%A0%E9%99%90%E5%8A%A0%E4%B8%8B%E5%8E%BB%E5%BA%94%E8%AF%A5%E6%80%8E%E4%B9%88%E5%A4%84%E7%90%86%2C%E8%80%81%E6%98%AF%E4%B8%8D%E5%81%9C%E5%8A%A0%E5%81%9C%E4%B8%8D%E4%B8%8B%E6%9D%A5%E6%80%8E%E4%B9%88%E5%8A%9E%7E%E6%80%A5%E4%B8%8D%E8%A6%81%E7%94%A8taylor%E8%BF%99%E4%B8%AA%E6%9C%AC%E8%BA%AB%E5%B0%B1%E6%9C%89%E7%9A%84%E6%96%B9%E7%A8%8B%EF%BC%81%E8%A6%81%E9%87%8D%E6%96%B0)
急 在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,够用了。