使用时获取“TypeError:cannot create mph”(类型错误:无法创建英里/小时)sympy.n保存()

2024-06-25 22:57:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图确定时间,角度和速度,一些东西将必须旅行与一个移动的椭圆相交。(实际上,我希望这些条件在最短时间内有效)。现在我正试图利用Sympy来帮助这次冒险。以下是我正在执行的代码:

import sympy as sp
sp.init_printing()

delta_x, delta_y, t = sp.symbols('delta_x delta_y t', real=True, positive=True)
V, V_s, x_0, y_0, theta_s, theta_t = sp.symbols('V V_s x_0 y_0 theta_s theta_t', real=True)
x, y = sp.symbols('x y', real=True)

EQ1 = sp.Eq(((x-(x_0+V*sp.cos(theta_t)*t))/(delta_x+V*sp.cos(theta_t)*t))**2+((y-(y_0+V*sp.sin(theta_t)*t))/(delta_y+V*sp.sin(theta_t)*t))**2-1, 0)
sx = sp.Eq(x, V_s*sp.cos(theta_s)*t)
sy = sp.Eq(y, V_s*sp.sin(theta_s)*t)

mysubs = [(V,5), (x_0, 10), (y_0, 10), (theta_t, 7*(sp.pi/4)), (delta_x, 0), (delta_y, 0)]
sp.nsolve((EQ1.subs(mysubs), sx.subs(mysubs), sy.subs(mysubs)), (V_s, theta_s, t), (5, 0.0, 1))

此操作的结果是:

^{pr2}$

这是因为制度约束不够吗?有一系列的角度和速度可以用来截获移动的椭圆。这个错误似乎并不意味着这一点。(是的,即使我试图在这个问题中约束V_,也会出现相同的错误)。在

我使用以下版本的东西:

| Software | Version   |
|----------|-----------|
| python   | 3.5.2     |
| sympy    | 1.0       |
| mpmath   | 0.19      |

Tags: truesincosreal速度speq角度
1条回答
网友
1楼 · 发布于 2024-06-25 22:57:45

变量x和{}在方程中仍然是符号。nsolve要求指定所有变量,并且至少指定与变量相同数量的等式。因此,您要么需要在mysubs中包含它们的值,要么为它们求解(但是要使用nsolve来实现这一点,还需要两个方程)。在

相关问题 更多 >