Python符号打印区分用户定义的复合函数;如何切换替换

Python Sympy printing differentiated user defined composite function; how to toggle substitution(Python符号打印区分用户定义的复合函数;如何切换替换)
本文介绍了Python符号打印区分用户定义的复合函数;如何切换替换的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我希望在区分用户定义的复合函数时,不再使用sympy所做的额外替换。代码为

t = Symbol('t')
u = Function('u')
f = Function('f')
U = Symbol('U')

pprint(diff(f(u(t),t),t))

输出为:

d                d        ⎛ d           ⎞│       
──(f(u(t), t)) + ──(u(t))⋅⎜───(f(ξ₁, t))⎟│       
dt               dt       ⎝dξ₁          ⎠│ξ₁=u(t)

我猜它是这样做的,因为你不能区分w.r.t u(T),所以这是可以的。接下来我想做的是用另一个变量替换u(T),比如U,然后去掉额外的替换xi_1

⎞│
⎟│
⎠│ξ₁=U

为澄清起见,我需要以下输出:

d             d     ⎛d          ⎞
──(f(U, t)) + ──(U)⋅⎜──(f(U, t))⎟
dt            dt    ⎝dU         ⎠

原因是,当I Taylor展开这样的复合函数时,多余的替换会使输出不可读。有人知道怎么做吗?当然,欢迎任何其他解决方案。

推荐答案

替换为subs。如果未评估某项内容,则可以使用doit方法强制执行。

>>> diff(f(u(t),t),t).subs(u(t),U)
Derivative(U,t)∗Subs(Derivative(f(xi1,t),xi1),(xi1,),(U,))+Derivative(f(U,t),t)

>>> _.doit()
Derivative(f(U,t),t)

查看教程!它把所有这些想法都很好地呈现了出来。

这篇关于Python符号打印区分用户定义的复合函数;如何切换替换的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Leetcode 234: Palindrome LinkedList(Leetcode 234:回文链接列表)
How do I read an Excel file directly from Dropbox#39;s API using pandas.read_excel()?(如何使用PANDAS.READ_EXCEL()直接从Dropbox的API读取Excel文件?)
subprocess.Popen tries to write to nonexistent pipe(子进程。打开尝试写入不存在的管道)
I want to realize Popen-code from Windows to Linux:(我想实现从Windows到Linux的POpen-code:)
Reading stdout from a subprocess in real time(实时读取子进程中的标准输出)
How to call type safely on a random file in Python?(如何在Python中安全地调用随机文件上的类型?)