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

Octave tand函数转NumPy实现时计算结果不匹配问题咨询

问题原因与解决方法

核心错误点

Octave的tand(x)函数的定义是输入x为角度单位,返回该角度对应的正切值,你之前的转换逻辑颠倒了单位转换的顺序,且对转换对象的理解有误。

正确复现代码

你只需要先将角度单位的DOA数组转换为弧度,再调用NumPy的正切函数即可:

import numpy as np
DOA = np.array([[2.44511697], [171.03810943], [-54.15891743], [-106.57844237]])
# 角度转弧度后计算正切,对应Octave的tand逻辑
alfa = np.tan(np.deg2rad(DOA))
print(alfa)

执行后输出结果和Octavetand的输出完全一致:

[[ 0.0427007 ]
 [-0.15770276]
 [-1.38444069]
 [ 3.35904856]]

之前方法错误的原因

你之前执行的np.tan(DOA)是把DOA的数值当成弧度单位计算正切,后续的np.rad2deg是把正切的计算结果(无量纲的比值)错误当成弧度值转换为角度,和tand的定义完全不符,因此得到的结果不符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 13:24:05