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

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

(64)
百度网页打不开怎么办:百度网页搜索引擎 API(baidu english search engine)
上一篇
Chick a:我能做些什么来让MozillaFirefox预加载最终的图像结果
下一篇

相关推荐

  • docker游戏服务器:如何使用Docker搭建高性能的游戏服务器

    Docker游戏服务器是一种将游戏服务器部署到容器中的方式,它可以帮助游戏开发者快速、轻松地部署游戏服务器,并且可以更轻松地扩展游戏服务器的容量。…

    2023-04-27 09:55:33
    0 53 92
  • win7玩cf卡顿怎么解决:解决Win7环境下CF游戏卡顿问题

    尝试更新系统:可能是由于系统缺少某些补丁或者更新导致CF卡顿,可以尝试在Windows Update中进行检查更新,并安装最新的补丁和更新。更新显卡驱动:可能是由于显卡驱动过旧或者不兼容导致CF卡顿,可以尝试更新显卡驱动,可以到显卡厂商官网下载最新的驱动进行安装。…

    2023-05-27 11:45:17
    0 92 93
  • cv糖醋排骨是弯的吗弯曲的美味

    cv糖醋排骨不是弯的,它是一种制作方法,通常用来制作排骨。代码:…

    2023-04-01 13:03:36
    0 65 49
  • java ee eclipse使用:如何使用Java EE Eclipse来开发Web应用

    示例示例Java EE Eclipse使用步骤:安装Eclipse IDE。…

    2023-10-12 04:51:32
    0 93 17
  • cookie如何使用:如何使用Cookie来改善用户体验

    Cookie是一种存储在客户端的小型文件,用于记录用户的信息,如访问时间、登录状态等。使用Cookie可以更好地为用户提供服务,比如保存用户的登录状态,记录用户的浏览历史记录等。…

    2023-05-07 02:18:11
    0 92 22
  • cv小敢:如何利用CV小敢提升职业技能?

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

    2023-02-09 13:08:59
    0 93 96
  • ubuntu如何编译c语言:在Ubuntu上编译C语言程序的步骤

    示例示例Ubuntu编译C语言的步骤如下:安装gcc编译器:…

    2023-09-08 12:39:20
    0 50 83
  • coremail论客邮箱Coremail论客邮箱

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

    2023-02-25 04:36:55
    0 72 63

发表评论

登录 后才能评论

评论列表(13条)