例如,已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请勿采集。