当前位置: 首页 > news >正文

建设厅官方网站网站主题的分类

建设厅官方网站,网站主题的分类,海外免费网站推广有哪些,网络推广的途径文章目录求和累加和累乘trapz连乘连加元素连乘prod, nanprod;元素求和sum, nansum累加累加cumsum, nancumsum;累乘cumprod, nancumprod; 求和 在Numpy中可以非常方便地进行求和或者连乘操作,对于形如x0,x1,⋯,xnx_0,x_1,\cdots,x…

文章目录

    • 求和
    • 累加和累乘
    • trapz

连乘连加元素连乘prod, nanprod;元素求和sum, nansum
累加累加cumsum, nancumsum;累乘cumprod, nancumprod

求和

在Numpy中可以非常方便地进行求和或者连乘操作,对于形如x0,x1,⋯,xnx_0,x_1,\cdots,x_nx0,x1,,xn的数组而言,其求和∑xi\sum x_ixi或者连乘∏xi\prod x_ixi分别通过sumprod实现。

x = np.arange(10)
print(np.sum(x))    # 返回45
print(np.prod(x))   # 返回0

这两种方法均被内置到了数组方法中,

x += 1
x.sum()     # 返回55
x.prod()    # 返回3628800

有的时候数组中可能会出现坏数据,例如

x = np.arange(10)/np.arange(10)
print(x)
# [nan  1.  1.  1.  1.  1.  1.  1.  1.  1.]

其中x[0]由于是0/0,得到的结果是nan,这种情况下如果直接用sum或者prod就会像下面这样

>>> x.sum()
nan
>>> x.prod()
nan

为了避免这种尴尬的现象发生,numpy中提供了nansumnanprod,可以将nan排除后再进行操作

>>> np.nansum(x)
9.0
>>> np.nanprod(x)
1.0

累加和累乘

和连加连乘相比,累加累乘的使用频次往往更高,尤其是累加,相当于离散情况下的积分,意义非常重大。

from matplotlib.pyplot as plt
xs = np.arange(100)/10
ys = np.sin(xs)
ys1 = np.cumsum(ys)/10
plt.plot(xs, ys)
plt.plot(xs, ys1)
plt.show()

效果如图所示

在这里插入图片描述

cumprood可以实现累乘操作,即

x = np.arange(1, 10)
print(np.cumprod(x))
# [     1      2      6     24    120    720   5040  40320 362880]

sum, prod相似,cumprodcumsum也提供了相应的nancumprod, nancumsum函数,用以处理存在nan的数组。

>>> x = np.arange(10)/np.arange(10)
<stdin>:1: RuntimeWarning: invalid value encountered in true_divide
>>> np.cumsum(x)
array([nan, nan, nan, nan, nan, nan, nan, nan, nan, nan])
>>> np.nancumsum(x)
array([0., 1., 2., 3., 4., 5., 6., 7., 8., 9.])
>>> np.nancumprod(x)
array([1., 1., 1., 1., 1., 1., 1., 1., 1., 1.])

trapz

cumsum操作是比较容易理解的,可以理解为离散化的差分,比如

>>> x = np.arange(5)
>>> y = np.cumsum(x)
>>> print(x)
array([0, 1, 2, 3, 4])
>>> print(y)
array([ 0,  1,  3,  6, 10])

trap为梯形积分求解器,同样对于[0,1,2,3,4]这样的数组,那么稍微对高中知识有些印象,就应该知道[0,1]之间的积分是1+02=12\frac{1+0}{2}=\frac{1}{2}21+0=21,此即梯形积分

>>> np.trapz(x)
8.0

接下来对比一下trapzcumsum作用在sin⁡x\sin xsinx上的效果

from matplotlib.pyplot as plt
xs = np.arange(100)/10
ys = np.sin(xs)
y1 = np.cumsum(ys)/10
y2 = [np.trapz(ys[:i+1], dx=0.1) for i in range(100)]
plt.plot(xs, y1)
plt.plot(xs, y2)
plt.show()

结果如图,可见二者差别极小。
在这里插入图片描述

http://www.dtcms.com/a/507340.html

相关文章:

  • 广州营销网站建设公司php网站开发实例项目
  • Kubernetes 核心概念解析与集群部署实战(基于 Docker+Flannel)
  • 【课堂笔记】复变函数-6
  • OpenBMC: BmcWeb处理WebScoket1 判断是否为WebSocket
  • 操作系统学习 进程(1)进程的概念与状态
  • Genie Envisioner--智元机器人--世界模型框架--2025.8.7
  • 权威网站有哪些wordpress分类目录浏览权限
  • Vue 缓存之坑,变量赋值方式和响应式数据
  • AWS CloudFormation —— 自动化部署的“云中脚本大师”
  • 响应式网站下载长沙排名推广
  • 【软考备考】 安全协议:SSL/TLS, IPSec 详解
  • 在 HarmonyOS 中平滑切换“点状粒子”与“图片粒子”(含可运行 ArkTS 示例)
  • 海门市规划建设局网站会考网页制作视频教程全集
  • 4-ARM-PEG-Pyrene(2)/Biotin(2),多功能化聚乙二醇修饰荧光标记生物分子的设计与应用探索
  • 做三折页宣传册 网站昆明网上房地产官网
  • redis-7.4.6部署安装
  • CSS学习笔记(五):CSS媒体查询入门指南
  • Redis多线程架构深度解析-从单线程到I/O Threading
  • 掌握 iOS 26 App 性能监控,多工具组合流程与实战指南
  • Spring定时任务中数据未持久化的深度排查指南:从autoCommit到事务管理的终极解法
  • BAT 大厂 java高频面试题汇总:JVM+Spring+ 分布式 +tomcat+MyBatis
  • 宸建设计网站想注册一个做网站的公司好
  • ThingsBoard开源物联网平台实践:从环境搭建到数据可视化
  • 第二章 线性表——课后习题解练【数据结构(c语言版 第2版)】
  • 成都网站建设开发公选择好的软件开发培训班
  • 待学习--中间件
  • Avalonia vs UniApp 全面对比分析
  • 策略模式优化多重判断
  • ios云打包证书申请不需要苹果电脑也是可以的
  • UniApp USB存储设备U盘操作、读写原生插件