在matlab用泰勒级数求,急 在matlab中写个用泰勒级数计算arctan(x)的方程

例如,已bai知tan(x)=√3/3,求x。程序如下:dux=atan(sqrt(3)/3);运行结果:zhix = 0.5236 %得到的是弧度;一般我dao们习惯用角度来内表示。如下容转化:x=x*180/pi;运行结果: x = 30.0000 %这就得到了角度,matlab中求反正切的函数为atan(),这样求出的是弧度,如果结果需要是角度的话可以用atan()*180/pi即可www.mh456.com防采集。

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) <= 1e-4 break; endendysierry = 0.7854s = 0.7853i = 2500err = 1.0000e-004

这个积不出来,应该会有区间吧,我算个-π到π刚才,得π^3/8。我感觉题目也是对称区间吧

基本思bai想是,在有限项截断du,根据下一zhi项的绝对值来估dao计误差。比如版你算到7次,那么下一项的绝权对值是|x^9/9|,只要它达到要求精度就停机。由于这个是Leibniz级数,截断误差满足|R7|<=|x^9/9|。 补充:%给你个样板吧function y = arctg(x)if x == 0.0, y = 0.0; return; endif x < 0.0, y = -arctg(-x); return; endif x > 1, y = arctg(1.0 / x); return; endif x == 1.0, y = pi * 0.25; return; endtol = 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;endreturn%现在的小孩啊,给了提示了还不肯多动动脑筋

不知报错提示啥内容,但从字面看,程序没啥问题,可能是找不到反函数才报错。 >> syms f(x) >> f = log(x) + atan(x); >> g = finverse(f) Warning: Functional inverse cannot be found. > In F:\Program Files\MATLAB\R2012b\toolbox\symbolic

>> 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

1、第一步,调用ATAN2函数,抄在指定单元格中输入“=ATAN2”。 2、第二步,设定X坐标。袭 3、第三步,设定Y坐标。 4、第四步,点击回车,查看计算出的反正切值 扩展资料: 在数学坐标系中,结知果为正表示从 X 轴逆时针旋转的角度,结果为负表示从

TAYLOR(f,n)这个n可以自己设定啊~~比如10,够用了。

atan(X)

基本思想是,在有限项截断,根据下一项的绝对值来估计误差。比如你算到7次,那么下一项的绝对值是|x^9/9|,只要它达到要求精度就停机

估计你是写错了,没有arctan倒是有atan, atan用来求反正切,格式是atan(X)

clear;clc;x=1;s=0;y=atan(x);fori=1:1e6n=2*i-1;s=s+(-(-1)^i)*(x^n)/n;err=y-s;ifabs(err)<=1e-4break;endendysierry=0.7854s=0.7853i=2500err=1.0000e-004

内容来自www.mh456.com请勿采集。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值