将函数应用于 Maxima 中的命名参数列表

问题描述

对于诸如拉格朗日乘数的问题,您可以求解临界点。通常,您会得到一组关键点。有没有一种方法可以轻松地将原始函数映射到解决方案上,以在这解决方案上评估/应用该函数以获得函数值?

这是一些代码,最后一步是我不知道如何构造的:

f(x,y) := y^2 - x^2
g: 1/4 * x^2 + y^2

eq1: diff(f(x,y),x) = h * diff(g,x);
eq2: diff(f(x,y) = h * diff(g,y);
eq3: g = 1;

solve([eq1,eq2,eq3],[x,y,h]);
# Get:
# [[x=-2,y=0,h=-4],[x=2,[x=0,y=-1,h=1],y=1,h=1]]

# How can I get the list of values by applying the function to the
# list of solutions?
map(apply(f(x,y)),solve([eq1,h]));

# Want (evaluated):
# [f(-2,0),f(2,f(0,-1),1)]
# ???

解决方法

一种方法是将解代入函数返回的表达式中。像这样(我没有尝试过):

mysolutions: solve (...);
map (lambda ([solution1],subst (solution1,f(x,y))),mysolutions);

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...