扭转振动模态分析开发中np.around()输出格式不一致问题咨询
扭转振动模态分析代码
np.around()输出异常问题 项目背景
- 正在开发用于扭转振动模态分析的代码,已有对应时域版本软件可做结果对比
- 时域分析很难引入复数值结构阻尼,模态分析实现该需求十分简便,因此选择模态分析方案
- 当前代码可正常运行,输出波形形态符合预期,振荡周期与分析的主频率匹配,但数值量级不正确,推测存在单位转换错误,目前正在通过目测校验不同方法计算的同一份量值是否一致
核心问题
np.around()函数仅部分场景下运行正常:两段格式几乎一致的打印语句输出结果差异明显,Developing model对应的打印输出无尾部零的舍入结果,Natural frequencies对应的打印却输出保留5位小数的尾部零。
已完成排查操作
- 最初怀疑是
np.sqrt()导致该问题,测试显示同类场景下np.sqrt()输出经舍入后无多余尾部零,排除该因素 - 测试了
np.asarray()、np.asmatrix(),均排除二者的影响,推测是后台存在未知的数据转换逻辑导致np.around()表现异常 - 尝试禁用numpy的科学记数法,仅修复了部分打印输出的问题,仍有部分异常未解决,现寻求解决方案。
内容的提问来源于stack exchange,提问作者T. Moran
相关产品推荐
相关产品推荐

