首页 > 解决方案 > 计算正弦定律的问题

问题描述

在我的数学课上,我们目前在一个基本的三角单元中,使用正弦定律/余弦定律。我偶尔会编写一些程序,让我输入已知值并在我无聊时从该输入中得到答案。

然而,我正在与正弦定律的边/边/角度规则作斗争。我正在使用这个问题作为测试(为质量道歉): 这个问题在纸上解决了:

在纸上计算时,它大约等于 15 度。

这是我的代码:

# SSA
x = float(input("Known Angle Degrees: "))
y = float(input("Length of Side Opposite Known: "))
z = float(input("Length of Side Opposite Unknown: "))

a = (math.sin(math.radians(x))/y)*z
b = math.asin(a)

print(str(a))
print(str(b))

这是我得到的结果:

Known Angle Degrees: 48
Length of Side Opposite Known: 63
Length of Side Opposite Unknown: 22
0.2595108914365504
0.26251570863497786

很明显,在得到 a 的反/反正弦之前,一切都是正确的。我只是不确定这里有什么问题。在获取 b 的值时,我尝试将 A 转换为弧度和小数,而不是使用 asin(),而是使用提升为 -1 的 sin()。什么都没奏效。

有任何想法吗?

编辑:抱歉,我没有提到我已经导入了math模块。对不起。

标签: pythonpython-3.8

解决方案


你只是错过了从弧度到度数的转换:

>>> math.degrees(math.asin(0.2595108914365504))
15.041042160670253

推荐阅读