为了在Sage中获得计划和任意卷的交集,我做到了这一点:
eq_object = -(cos(x) + cos(y) + cos(z))
eq_knife = 3*x+2*y+1*z
object = implicit_plot3d(eq_object, (x,-4,4), (y,-4,4), (z,-4,4), color='orchid')
knife = implicit_plot3d(eq_knife == 0, (x,-4,4), (y,-4,4), (z,-4,4), color='black')
但由solve
给出的交集是方程本身:
intersection = solve([eq_object, eq_knife], [x, y, z])
intersection
>> [3*x + 2*y + z, -cos(x) - cos(y) - cos(z)]
我做错了什么?
答案 0 :(得分:0)
你可能想要这个:
solve(eq_object==eq_knife, [x, y, z])
给出[]
空解决方案集,可能是因为这太难了。一旦你把cos
打到那里,这些就不是代数系统。
即使非常简单
solve([cos(x),x],[x])
给出了这种响应,尽管在这种情况下cos(x)=0
和x=0
不可能在一起。但是我们“真正”想要的是什么,
solve([cos(x)==x],[x])
只是给了原版,因为没有“好”的方式来写这个。它发生了。
编辑:也许你想要一个隐含的情节呢?
var('y')
implicit_plot(-(cos(x) + cos(y) + cos(-3*x-2*y)),(x,-5,5),(y,-5,5),figsize=4)
我想我做对了。