计算正弦定律的问题
Problems with calculating Law of Sines
在我的数学 class 中,我们目前使用的是基本的三角学单元,余弦定律 Sines/Law。我偶尔会编写程序,让我输入已知值并在我无聊时从该输入中获得答案。
然而,我正在为正弦定律 Side/Side/Angle 规则而苦苦挣扎。我正在使用这个问题作为测试(对质量表示歉意):
在纸上算出,大约等于 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 的 reverse/arc 正弦之前,它显然一切正常。我只是不确定这里出了什么问题。当获取 b 的值时,我尝试将 A 转换为弧度和小数,而不是使用 asin(),而是使用 sin() 提高到 -1。什么都没用。
有什么想法吗?
编辑:抱歉,我没有包括我导入了 math
模块。对不起。
您只是缺少从弧度到度的转换:
>>> math.degrees(math.asin(0.2595108914365504))
15.041042160670253
您还需要包括弧度到度数的转换,所以像这样:
import math
angleB = math.degrees(math.asin(0.259))
print(angleB)
### Output is 15 degrees (truncated)
在我的数学 class 中,我们目前使用的是基本的三角学单元,余弦定律 Sines/Law。我偶尔会编写程序,让我输入已知值并在我无聊时从该输入中获得答案。
然而,我正在为正弦定律 Side/Side/Angle 规则而苦苦挣扎。我正在使用这个问题作为测试(对质量表示歉意):
在纸上算出,大约等于 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 的 reverse/arc 正弦之前,它显然一切正常。我只是不确定这里出了什么问题。当获取 b 的值时,我尝试将 A 转换为弧度和小数,而不是使用 asin(),而是使用 sin() 提高到 -1。什么都没用。
有什么想法吗?
编辑:抱歉,我没有包括我导入了 math
模块。对不起。
您只是缺少从弧度到度的转换:
>>> math.degrees(math.asin(0.2595108914365504))
15.041042160670253
您还需要包括弧度到度数的转换,所以像这样:
import math
angleB = math.degrees(math.asin(0.259))
print(angleB)
### Output is 15 degrees (truncated)