Cosx是什么函数:通过对一系列求和来计算 cos(x)(cosx times cosx)

我在计算机编程方面很新,最近刚开始学习 python。在这个作业中,我需要通过求和系列 1-x ^ 2 / 2!+ x ^ 4 / 4!-x ^ 6 / 6!来计算 cos(x)。。。

如何在不使用 numpy 或 m.factorial 的情况下做到这一点?我想我只应该使用 while 循环。这是我到目前为止的代码

print("INVESTIGATION OF COMPLEX INFINITE SERIES")
print("")
print("Part A: exp, cos and sin series for real value 1")
print("Using convergence criterion of 1e-20")
print("")
print("count         exp terms       sign         cos terms         sin terms")
print("----------------------------------------------------------------------")
count = 0.0 # number of terms added so far
total = 0.0 # total of terms so far
termSign = 1 
term = 1.0 # initial term
xx = 1
while abs(term) > 1e-20:
    count += 1
    print("%2d   %22.16g    %2d" % (count, term, termSign))
    termSign = (-1)**(count//2)
    total = total + term
    term = term/count

代码的输出应该是这样的:

 count     exp terms          sign          cos terms 
 ----------------------------------------------------------
 1                      1      1       1.00000000000000000                                  
 2                      1      1       
 3                    0.5     -1      -0.50000000000000000                                                                                          
 4     0.1666666666666667     -1    
 5    0.04166666666666666      1       0.04166666666666666                                                                                          
 6   0.008333333333333333      1       
 7   0.001388888888888889     -1      -0.00138888888888889                                                                                      
 8  0.0001984126984126984     -1                                                                                                        
 9   2.48015873015873e-05      1       0.00002480158730159                                                                                          
10  2.755731922398589e-06      1
11  2.755731922398589e-07     -1      -0.00000027557319224                                                                                          
12  2.505210838544172e-08     -1                                                                                                    
13   2.08767569878681e-09      1       0.00000000208767570                                                                                          
14  1.605904383682162e-10      1                                                                                    
15  1.147074559772973e-11     -1      -0.00000000001147075                                                                                          
16  7.647163731819817e-13     -1                                                                                                        
17  4.779477332387386e-14      1       0.00000000000004779                                                                                          
18  2.811457254345521e-15      1                                                                                                            
19  1.561920696858623e-16     -1      -0.00000000000000016                                                                                          
20  8.220635246624331e-18     -1                                                                                                        
21  4.110317623312165e-19      1       0.00000000000000000                                                                                          
22  1.957294106339126e-20      1                                                                                                        
-----------------------------------------------------------
1

你很接近了...你遗漏了几个计算步骤。

x = 3.1415926535 / 4
sum_up = 1
term = 1
converge = 1e-20
i = 1
while abs(term) > converge:
    term = -term * x * x / (i * (i+1))
    sum_up += term
    i += 2
print sum_up

输出:

0.707106781202
0

你可以这样计算:

def cos(x):
        res = 0
        term = 1
        for i in range(1, 20, 2):
            res += term
            term *= -x * x/ i /(i + 1)
        return res
cos(0);

这将返回 1。

Source EDIT:

没有 def,你可以这样做:

x=0;
res = 0
term = 1
for i in range(1, 20, 2):
  res += term
  term *= -x * x/ i /(i + 1)
print(res);

在这个代码中,用你想计算 cos 的数字代替 x。我把 0,例如。

EDIT2:好的,使用收敛标准:

x=0;
res = 1
term = 1
i = 1
while abs(term) > 1e-20
  res += term
  term *= -x * x/ i /(i + 1)
  i += 2
print(res);

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(166)
C9特工电视剧港剧网:Cloud-9:如何从c9终端在c9编辑器中打开文件
上一篇
五菱星辰cvt缺点和优势:Websync:优点和缺点
下一篇

相关推荐

  • Ck包全名:CK编辑器第二次验证(ck time)

    关于Ck包全名的问题,在ck time中经常遇到,我有两个 CKEditors 在我的 HTML(我的意思是说多个 ckeditors)。…

    2022-11-23 08:45:22
    0 54 26
  • android 视频编码深入理解MediaCodec API

    Android 视频编码是指将原始视频数据经过压缩编码后,生成新的视频数据,以便减少视频文件的体积,提高传输速度,以及更好地在 Android 设备上播放。…

    2023-01-13 10:58:18
    0 10 92
  • cv小敢:如何利用CV小敢提升职业技能?

    cv小敢(Computer Vision Tiny-YOLO)是一种轻量级的物体检测算法,它可以在资源受限的设备上运行,如嵌入式设备、智能手机等。它是基于YOLO(You Only Look Once)算法的一个变体,由Joseph Redmon和Ali Farhadi开发,旨在提高深度学习模型的性能,同时减少模型的大小和计算复杂度。…

    2023-02-09 13:08:59
    0 24 52
  • coremail论客邮箱Coremail论客邮箱

    Coremail论客邮箱是一款专业的企业邮箱服务,可以满足企业对安全、可靠性和高效性的要求。它拥有强大的安全性能,可以提供多种安全保护,包括防止邮件被窃取、拦截恶意邮件、防止跨站脚本攻击等。此外,它还支持多种企业级功能,如组织架构管理、收发邮件管理、文件共享管理、联系人管理等,可以帮助企业提高工作效率,提升企业形象。…

    2023-02-25 04:36:55
    0 61 49
  • linux 编译静态库:```ar cr libtest.a *.o```4. 完成!

    我们要创建一个源文件,比如:mylib.c,内容如下:#include…

    2023-03-19 08:46:39
    0 55 31
  • canvas下载安装:Unleash the Power of Canvas to Create Amazing Visuals

    Canvas是一种HTML5技术,可以在网页上创建和绘制2D图形。它是一个JavaScript API,可以使用JavaScript代码来绘制图形,并且可以添加各种效果,如阴影,渐变,动画等。…

    2023-03-08 00:48:14
    0 67 80
  • class定位:The Benefits of Using Class Selectors for Element Locati

    示例示例class定位是一种CSS布局技术,用于指定HTML元素的位置,可以使元素放置在页面的任何位置。代码示例:…

    2023-03-06 07:16:44
    0 12 31
  • cvt加速技巧:如何使用CVT加速技巧提升网络性能?

    cvt加速技巧是一种用于提升计算机程序运行性能的技术。它可以帮助程序员更有效地利用处理器的资源,从而提高程序的性能。cvt加速技巧的主要原理是:在程序运行时,将处理器的资源(如内存、寄存器、流水线等)分解成小块,然后将这些小块重新组合,使其可以更有效地执行程序代码。…

    2023-01-21 04:33:16
    0 73 11

发表评论

登录 后才能评论

评论列表(13条)