V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
Hlianbobo
V2EX  ›  Python

3*(x^2)+8*x*y+2*(y^2)-3=0 对 x 求导。如果用 sympy 或 sage 求导函数?

  •  
  •   Hlianbobo · 2020-09-28 09:57:54 +08:00 · 1743 次点击
    这是一个创建于 1515 天前的主题,其中的信息可能已经有所发展或是发生改变。
    3*(x^2)+8*x*y+2*(y^2)-3=0 对 x 求导 用 sympy 或 sage 如何写代码呢?因为原题没有直接给出 y=x 的表达式。如果用代码求解。需要第一步先解方程么?然后再对 y 的解求导数?

    是否有一步到位求导数的解法?用代码实现。
    10 条回复    2020-10-05 08:37:53 +08:00
    InkStone
        1
    InkStone  
       2020-09-28 10:31:01 +08:00
    直接对方程两边求导,y 是一个 x 的函数,所以关于 y 的求导都适用复合函数求导

    比如 (xy)' = x'y + y'x = y+y'x

    这里注意,你最终要求的就是 y'。

    所以求完导之后,把 y'放一边,其它所有式子放另一边,再想办法把 y 消掉,应该就可以了。
    crackhopper
        2
    crackhopper  
       2020-09-28 10:39:54 +08:00
    首先 x,y 是不是关联的,还都是自变量,这个很重要。看你的描述应该是有关系的。如果是有关系的,按照你这个写法,反解 y 也很容易,为何不反解?
    Vinty
        3
    Vinty  
       2020-09-28 16:04:52 +08:00
    你的意思是
    已知 f(x,y)=0
    求 y' = g‘(x)?
    那只能先解出 y=g(x),才能算出 y',但是这种不一定有解析解

    我觉得你的提问可能是一个 XY 问题
    Hlianbobo
        4
    Hlianbobo  
    OP
       2020-09-28 18:20:59 +08:00
    @InkStone 谢谢回复,你讲的帮我打开了思路。我手工去验证一下。请问类似问题 sympy 或 sage 代码怎么写?
    Hlianbobo
        5
    Hlianbobo  
    OP
       2020-09-28 20:21:00 +08:00
    @InkStone 我验证了一下 y'=(-3x-4y)/(4x+2y) 但是右边的 y 我想不出来如何消除掉
    helloworld000
        6
    helloworld000  
       2020-09-28 21:11:44 +08:00
    如果要编程实现的话,求导还是要用 chain rule 做 autograd

    你可以参考一下 tensorflow,pytorch 还有 mxnet 这些怎么做的
    Hlianbobo
        8
    Hlianbobo  
    OP
       2020-10-04 07:15:04 +08:00
    @necomancer 谢谢回复。请问这句:c=sum(1/x, x, 1, infinity) 是实现什么功能?
    necomancer
        9
    necomancer  
       2020-10-04 17:19:22 +08:00
    Hlianbobo
        10
    Hlianbobo  
    OP
       2020-10-05 08:37:53 +08:00
    @necomancer 谢谢回复。这次的代码可以跑了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2990 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 14:10 · PVG 22:10 · LAX 06:10 · JFK 09:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.