我正在做一个项目,这个项目涉及四个不同的未知数与平方根、sin和cos相结合的方程
例如
sqrt(2)+(3/2)*sqrt(3) = a*cos(b)+ c*cos(d)
-sqrt(2)+(3/2) = a*sin(b)+ c*sin(d)
13 = a**2 + c**2
5 = a + c
可能的答案(通过使用GeoGebra找到):
[[a = 2, b = -45 , c = 3, d = 30 ],
[a = 2, b = 47.45, c = 3, d = -27.55],
[a = 3, b = 30 , c = 2, d = -45 ],
[a = 3, b = -27.55, c = 2, d = 47.45]]
NB:变量b和d是角度(不是弧度)
我看了这篇文章Solving linear equation with four variables,他们用NumPy解决了这个问题,但那是用更简单的方程:
a + 3b + 2c + 2d = 1
2a + b + c + 2d = 0
3a + b + 2c + d = 1
2a + c + 3d = 0
其中代码为:
import numpy as np
A = np.array([[1,3,2,2],[2,1,1,2],[3,1,2,1],[2,0,1,3]])
B = np.array([1,0,1,0])
print(np.linalg.solve(A,B))
输出:
[-0.27272727 -0.18181818 1.09090909 -0.18181818]
我尝试使用同样的方法,但我似乎无法将我的方程转换成这种方法可以读取的方式
您可以使用Symphy以符号方式解方程:
结果:
从这里,
evalf()
获得数值解(弧度):相关问题 更多 >
编程相关推荐