请告诉我如何使用Maxima中的功能? 我试过这个
function(g, u):= (print(g(0)), print(u));
function(x^2, 10);
但它不起作用
答案 0 :(得分:3)
我想你想用第二个参数的特定值来评估第一个参数。所以也许你想要ev(g, x=0)
而不是g(0)
。
(g(0)
仅在g
是函数名称或lambda表达式(即未命名函数)时才有效。)
也许你可以更详细地解释你想要完成的事情。
答案 1 :(得分:0)
在定义函数F(Y)
时,您希望Y
是前者的x
依赖输入变量,对吗?
您可以直接定义未知变量F
的函数Y
,然后输入一些函数作为参数。
(%i_) F(Y) := diff(Y(t),t) + Y(t^2);
F(sin);
(%o_) F(Y):='diff(Y(t),t,1)+Y(t^2)
(%o_) sin(t^2)+cos(t)
您已经完成!
如果您尝试解析F(foo(x)):=something + foo(x)
,则会得到
定义:在F的定义中,发现错误的参数foo(x)
我从maxima: use function as function argument中学到了一种更具体的方法:
在定义F(foo)
之前,您可以告诉最大值
“按foo
我的意思是foo(x)
”:depends(foo,x)
。
然后,您可以定义一个带有变量foo
的函数,例如
depends(foo,x);
F(foo) := foo(x^2) + foo(x) + diff(foo(x),x) ;
F(sin);