gpt4 book ai didi

python - IndexedBase 的替代品

转载 作者:行者123 更新时间:2023-11-28 22:46:49 27 4
gpt4 key购买 nike

考虑以下几点:

import sympy
from sympy import *

x = IndexedBase('x')
i = Symbol('i', integer=True)

z = x[i] + x[i+1] + x[i+2]
print z

x[i+1] = 2 # <-- problem

print z

在“x[i+1] = 2”处,我遇到“TypeError: 'IndexedBase' object does not support item assignment”我希望允许更新 x[i+1] 的符号值,并让“打印 z”给我更新后的符号值。替换 z 中的 x[i+1] 项对我来说是不够的,因为可能有其他表达式使用相同的 x[i+1] 项,我希望它们也被更新。

代替 IndexedBase,由于 IndexedBase 不支持项目分配,建议使用哪些替代方案?

我使用 IndexedBase 是因为我想用符号引用来表示内存。

请告诉我如何重新表述我的问题和/或需要更好的帮助来帮助我。

最佳答案

SymPy 表达式是不可变的。如果你想改变它们,你需要使用像 subs 这样的函数来创建一个新的表达式(像 z2 = z.subs(x[i + 1], 2))。

关于python - IndexedBase 的替代品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27052718/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com