python - 在Python中将角度值从弧度转换为度数时出错
问题描述
我正在尝试用 Python 编写弹丸运动的程序,在输入水平速度和垂直速度的值时,如果我直接在程序中输入确定的常数值,我会得到正确的结果。
但是当我使用代码让用户输入角度的值时(显然,将 numpy 导入为 np),我得到的答案非常小(对于 $45^{\circ}$,值是 $-当我在程序中手动输入速度分量的值时,正确显示的是 0.0001...$ 而不是 $40.8$。
这是我的程序摘录以供参考,
thetaVal = input("Please enter theta value in degrees: ")
theta_val = float(thetaVal)
t = theta_val *180/3.14
v_x0= v_0*np.cos(t)
v_y0= v_0*np.sin(t)
我不知道我哪里出了问题,我的转换方式是错误的还是代码在语句的优先级上有问题,我真的不知道。
任何帮助将不胜感激谢谢!
解决方案
Numpy 的 cos 和 sin 函数以弧度表示角度。要将度数转换为弧度,您可以编写
t = theta_val * 3.14 / 180
或者更好的是,
t = np.radians(theta_val)
或等效地
t = np.deg2rad(theta_val)
推荐阅读
- java - 为了安全起见,将 new String(char[]) 作为密码参数传递给只接受字符串作为参数的方法是否安全?
- entity-framework - EntityFramework Core Timeout 已过期。操作完成前超时时间已过或服务器无响应
- java - 保存前重命名多部分文件
- python - 从嵌套列表中删除元素
- r - 使用 dplyr 的多个 group_by 和 top_n
- php - 客户注册未将信息添加到 phpmyadmin
- python - ipywidgets 中的自定义 DatePicker
- python - ItemDelegate 忽略样式表
- nginx - 将 RTSP 转换为 HLS Nginx 以流式传输时出现问题
- ms-access - 使用表单将发票从 Access 导出到 QuickBooks 时遇到问题