首页 > 解决方案 > wxMaxima: 将字符串代入函数会创建什么样的对象?

问题描述

给定

f(x):=3*x^2;
a:f("alpha");

是什么样的对象a?我尝试使用stringpsymbolp以及我能找到的任何类似的东西进行测试(尽管我找不到完整的列表)。

我也曾经to_lisp()跑步(inspect $a),但千里马只是挂了。当我停止它时,它说它是“长度为 3 的正确列表”,但listp(a)返回错误。

标签: maxima

解决方案


Maxima 很乐意使用字符串参数而不是符号来评估函数,结果是一个普通的 Maxima 表达式。您可以看到 via grind(a)which 将显示"alpha"x.

Maxima 可以对包含字符串而不是符号的表达式执行一些操作,例如"foo" + "foo"简化为2*"foo",您可以说subst("foo"=123, <whatever>)用一个值替换“foo”。但是,字符串不能有值,因此"foo": 123失败。此外,字符串不能具有属性。


推荐阅读