函数与其他函数作为参数

时间:2014-05-13 14:37:07

标签: maxima

请告诉我如何使用Maxima中的功能? 我试过这个

function(g, u):= (print(g(0)), print(u));
function(x^2, 10);

但它不起作用

2 个答案:

答案 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);