首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >渐近的Line.equation()中的x和y表现得很奇怪

渐近的Line.equation()中的x和y表现得很奇怪
EN

Stack Overflow用户
提问于 2021-11-19 10:31:05
回答 1查看 32关注 0票数 0

为什么在下面的代码中myLemyEq是不同的?打印出来时,它们看起来是一样的。

我需要myLe-myEq为零。

代码语言:javascript
复制
from sympy import *
var('x y')
myLe=Line(Point(2,3), Point(3,5)).equation()
myEq=-2*x + y + 1
print("#",type(x-x ),x-x )
print("#",type(myLe),myLe)
print("#",type(myEq),myEq)
print("#",type(myLe-myEq),myLe-myEq)
# <class 'sympy.core.numbers.Zero'> 0
# <class 'sympy.core.add.Add'> -2*x + y + 1
# <class 'sympy.core.add.Add'> -2*x + y + 1
# <class 'sympy.core.add.Add'> -2*x + 2*x - y + y
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-19 15:07:14

当您编写myLe=Line(Point(2,3), Point(3,5)).equation()时,sympy使用的内部变量在外部具有名称x和y,但与您之前声明的内部变量不同。

您可以通过编写Line(Point(2, 3), Point(3, 5)).equation(x=x, y=y)来强制渐近使用相同的内部变量。

代码语言:javascript
复制
from sympy import *

var('x y')
myLe = Line(Point(2, 3), Point(3, 5)).equation(x=x, y=y)
myEq = -2 * x + y + 1
print("#", type(x - x), x - x)
print("#", type(myLe), myLe)
print("#", type(myEq), myEq)
print("#", type((myLe - myEq)), myLe - myEq)
# <class 'sympy.core.numbers.Zero'> 0
# <class 'sympy.core.add.Add'> -2*x + y + 1
# <class 'sympy.core.add.Add'> -2*x + y + 1
# <class 'sympy.core.numbers.Zero'> 0

根据您的应用程序,您甚至可能希望对不同的方程使用不同的名称。

代码语言:javascript
复制
var('x1 y1')
myLe = Line(Point(2, 3), Point(3, 5)).equation(x=x1, y=y1)
print("#", myLe)
# -2*x1 + y1 + 1
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70033385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档