gpt4 book ai didi

maxima - 定义一个在计算表达式时计算的变量,但不将其定义替换为表达式

转载 作者:行者123 更新时间:2023-12-04 09:09:11 31 4
gpt4 key购买 nike

比方说,我想声明一个椭圆积分为
K(k):=elliptic_kc (k^2);
k:=<类似 tanh()*coth()...>
问题是 maxima 总是用 elliptic_kc(x^2) 代替 K(x),用 k 的定义代替 k。
我想阻止它,同时仍然允许对 K()、k 进行数值计算,并使用这些符号简化表达式。
...
一个函数,可以声明为“名词”以禁用替换。但这也禁用了它的评估。

最佳答案

嗯,我使用各种策略。有时一种方法比另一种更有效。
(1) 放单引号'在函数名称上以名词化该特定函数调用。稍后,ev(expr, nouns)动词化任何名词,因此调用函数。例如。 foo: 'integrate(sin(x), x);产生一个名词表达式。然后ev(foo, nouns); (在控制台输入可以缩写为 foo, nouns;)来实际计算它。
(2) 不要定义函数,而只是让它们成为 undefined symbol 。然后在您想要评估它们时替换 lambda 表达式。例如。 foo: f(2);后来subst(f = lambda([x], x + 1), foo); .
(3) 不要赋值,而是让它们未定义,然后在以后替换值。例如。 foo: a + b;后来subst([a = 123, b = y*z], foo); .

关于maxima - 定义一个在计算表达式时计算的变量,但不将其定义替换为表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63387775/

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