用MATLAB求对1/0! 1/1! 1/2! 1/3! ````=e,这个级数的前多少项能精确到e的10位有效数字;sin1,cos1做同样的

如题所述

clc;clear
format long
k=0;temp=0;test=1;
while test>1e-10
temp=temp+1/factorial(k); %ex = 1+x+x^2/2!+x^3/3!+...+xn/n!+...
test=abs(temp-exp(1));
k=k+1;
end
result=[k test temp exp(1)]

k=0;temp=0;test=1;
while test>1e-10
temp=temp+(-1)^k/factorial(2*k+1);%sin x = x-x^3/3!+x^5/5!-...(-1)k-1*x^(2k-1)/(2k-1)!+... (-∞<x<∞)
test=abs(temp-sin(1));
k=k+1;
end
result=[k test temp sin(1)]

k=0;temp=0;test=1;
while test>1e-10
temp=temp+(-1)^k/factorial(2*k); %cos x = 1-x^2/2!+x^4/4!-...(-1)k*x^(2k)/(2k)!+... (-∞<x<∞)
test=abs(temp-cos(1));
k=k+1;
end
result=[k test temp cos(1)]

结果:
result =

14.00000000000000 0.00000000001229 2.71828182844676 2.71828182845905

result =

7.00000000000000 0.00000000000076 0.84147098480866 0.84147098480790

result =

7.00000000000000 0.00000000001142 0.54030230587956 0.54030230586814
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-06-26
e的10位有效数
也就是说小数点后大约十位左右。
你看一下多少的阶乘大约是十位以上。你选这么多项就应当差不多。

另外你还可以根据精度不控制项数的多少。

...=e,这个级数的前多少项能精确到e的10位有效数字;sin1,cos1做...
k=0;temp=0;test=1;while test>1e-10 temp=temp+(-1)^k\/factorial(2*k); %cos x = 1-x^2\/2!+x^4\/4!-...(-1)k*x^(2k)\/(2k)!+... (-∞<x<∞)test=abs(temp-cos(1));k=k+1;end result=[k test temp cos(1)]结果:result = 14.00000000000000 0.000000000012...

怎样使用matlab求1\/0的值?
在matlab里面输入edit fun.m;在弹出的窗口输入以下内容;function f=fun(x,y);f=x.^2+sin(x.*y)+2*y;;保存一下。最后在matlab命令窗口输入fun(1,0)就可以了。就可以计算当x=1,y=0时的值,得到的结果应当是1ans =1。

如何用matlab生成1, 1\/2, 1\/3, 1\/4, 1\/5, ...,1\/20这样...
回答:clc,clear format rat a=[]; for i=1:20 a=[a 1\/i]; end a=a' %以上是生成1, 1\/2, 1\/3, 1\/4, 1\/5, ...,1\/20的代码。 clc,clear format rat b=[]; for i=1:20 b=[b (i-1)\/i]; end b=b' %以上是生成0\/1, 1\/2, 2\/3, 3\/4, 4\/5, ...,...

如何用matlab求输入2组数据的相对误差
在Matlab中求两组数据的相对误差,可以通过以下步骤实现:1. 导入或输入两组数据。2. 计算两组数据的绝对误差。3. 计算相对误差,即绝对误差与真实值之比。4. 输出或存储相对误差值。详细解释:数据导入与表示 在Matlab中,你可以通过直接输入或导入文件的方式获取数据。假设你有两组数据,分别存储在两...

请问下面这个公式怎么用matlab计算啊,急啊!
用 for循环吧 而且只能近似了 用前50项近似 r = 0 x = .88;for k = 0: 50 s = 0:k-1;t = -3\/2 -s;r = r + prod(t)\/factorial(k)*x^k end

请用matlab解答1,2,3
'1+3+5+...+99=',s);第六题:分段函数 x=0:0.01:10;y=sqrt(x).*(x>=0&x<4)+2*(x>=4&x<6)+(5-x\/2).*(x>=6&x<8)+1*(x>=8);plot(x,y,'r','linewidth',2)axis([0 10 0 2.1])grid on 希望我的回答对你有所帮助,满意敬请采纳哟,O(∩_∩)O谢谢!

matlab中怎样设置精度?
matlab中设置精度的方法和操作步骤如下:1、首先,打开计算机,进入软件,将看到以下界面。依次单击上方菜单栏中的“File”-->“Preference”,如下图所示。2、其次,完成上述步骤后,将看到以下界面。 单击红色框中的“Command Window”,如下图所示。3、接着,完成上述步骤后,将看到以下界面。 在“...

如何用Matlab求解级数的和??
sum = 0;设置阈值 threshold = 1e-6;计算级数和 for i = 1:10000 term = f(i);sum = sum + term;如果新的项的值小于阈值,则停止迭代 if term < threshold break;end end 输出级数和 disp(sum)注意:这只是一个基本的示例,实际的级数可能需要更复杂的函数和更多的迭代次数。此外,Matla...

用matlab 解方程求a 急 谢谢
用matlab 解方程求a 急 谢谢 for a=0:0.000001:3 if 4*a*(1-a)^2>0.349999&&4*a*(1-a)^2<0.350001 %改变0.3499和0.3501的值可以改变精确度; break end end a 借出来为 a = 0.11062 >> 初三数学题 急!急!急!在线等 解答如下: (1)AO=BD,AO⊥BD ...

在matlab中使用for循环求1到10阶乘的ŀ
源程序代码以及算法解释如下:matlab求1-10的阶乘的函数源码如下:function p = factorial()p=1;for a=1:10%设置要求的阶乘 for i=1:a%循环遍历从1到a p=p*i;%遍历相乘 end;\/\/函数结束 p%输出结果 p=1;%p还原其初始值 end end 程序运行结果如下:...

相似回答