python - 用 ReferenceFrame 向量替换 SymPy sp.Symbol
问题描述
我在使用SymPy 中的subs函数为向量替换符号时遇到问题。下面是我想做的一个例子:
N = ReferenceFrame('N')
zhat, Q, p = sp.symbols('\\hat{\\mathbf{z}} Q p')
expr = 4*Q*zhat/p
old = zhat
new = N.z
expr.subs(old, new)
我认为,考虑到这个问题的上下文,有必要声明我要求初始表达式expr完全由Symbols组成,并且在替换之前具有Mul类型。
解决方案
我还没有找到针对上述问题的解决方案,但有一个非常相似的解决方案:
N = CoordSys3D('N')
zhat, Q, p = sp.symbols('\\hat{\\mathbf{z}} Q p')
expr = 4*Q*zhat/p
old = zhat
new = N.k
expr.subs(old, new)
使用CoordSys3D代替ReferenceFrame允许替换。
推荐阅读
- machine-learning - len(alg.feature_importances_) 与 len(输入变量) 不一致
- list - 计算元组内列表的平均值
- excel - 为空 Power Query 时上移值
- asp.net - ASP.NET CORE - 以访客/匿名用户身份在线商店订购
- java - 使用 Apache Camel 和 DynamoDB 的 Java 注释将项目写入 DynamoDB
- angular - ngx-extended-pdf-viewer 不在移动视图中以角度 4 显示 pdf
- parallel-processing - Julia:带有远程工作者的 SharedArray 变成了一个 0 元素数组
- reactjs - 如何对使用 react-testing-library 进行异步数据加载的组件进行快照测试?
- c# - Ping.SendAsync 陷入无限循环
- sql - 使用单个查询获取或创建记录