You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用NumPy实现cos_x_crossings函数返回cos函数x轴交叉前的x值

基于NumPy的cos_x_crossings函数实现

需求说明

  • 函数功能:返回[begin, end]区间内按步长skip采样时,cos(x)穿过x轴前一时刻对应的x值列表
  • 开发约束:禁止使用for、while循环,必须基于NumPy开发

实现思路

  • 用NumPy的向量化操作生成指定区间内的等间隔采样数组,避免显式循环
  • 计算相邻采样点cos值的乘积,乘积小于0说明两点之间cos(x)穿过x轴
  • 提取所有过零点对对应的前一个采样点的x值作为结果返回

完整实现代码

import numpy as np
import math

def cos_x_crossings(begin, end, skip):
    # 生成[begin, end]区间等间隔采样数组,左闭右开特性补全end
x_arr = np.arange(begin, end + skip, skip)
# 计算所有采样点的cos值
cos_vals = np.cos(x_arr)
# 判断相邻点cos值乘积小于0即为过零点
cross_flag = cos_vals[:-1] * cos_vals[1:] < 0
# 提取过零点前一个时刻的x值
return x_arr[:-1][cross_flag].tolist()

测试用例验证

测试用例1

输入代码:

ans = cos_x_crossings(0, 4 * math.pi, 0.01)
for val in ans:
    print(round(val, 2))

输出与预期一致:

1.57
4.71
7.85
10.99

测试用例2

输入代码:

ans = cos_x_crossings(0, 2 * math.pi, 0.1)
for val in ans:
    print(round(val, 2))

输出与预期一致:

1.5
4.7

内容的提问来源于stack exchange,提问作者Dreamer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 10:36:01