Как построить график функции для нескольких наборов параметров в Maxima

Я хотел бы построить функцию несколько раз для разных значений параметров.

Функция зависит от набора параметров, скажем, paramOne и paramTwo. Я хотел бы иметь возможность указать несколько наборов этих параметров и для каждого набора получить график функции.

Я не хочу, чтобы количество наборов параметров было жестко закодировано, поэтому я подумал об использовании цикла for ... in ... do. Это то, что я пробовал, но, похоже, это не работает:

parametersList: [
    [paramOne=valueOne, paramTwo=valueTwo],
    [paramOne=valueThree, paramTwo=valueFour],
    ]$
for parameterSet in parametersList do
    block(
       i++,
       functionList[i] : ev(function(x,paramOne,paramTwo),parameterSet),
       return functionList
       )
 wxplot2d(functionList,[x,0,1])$

Какие-либо предложения?


person Peutch    schedule 13.02.2012    source источник
comment
Что это за язык или библиотека?   -  person YXD    schedule 13.02.2012
comment
Это CAS под названием Maxima.   -  person Peutch    schedule 13.02.2012
comment
Кто-то ответил в списке рассылки Maxima, опубликует ответ здесь, как только мне будет разрешено.   -  person Peutch    schedule 13.02.2012


Ответы (1)


Я получил рабочий ответ из списка рассылки Maxima, я решил опубликовать его здесь. (Спасибо Хайме за ответ!)

Для одной функции:

f(x,A,w) := A*sin(w*x)$
parametersList: [ [p1=1, p2=2], [p1=3, p2=4] ]$
functionList: makelist( ev(f(x,p1,p2), p), p, parametersList);
plot2d( functionList, [x, 0, 7]);

Для нескольких функций, каждая из которых должна быть построена с различным набором параметров:

f(x,A,w) := A*sin(w*x)$
g(x,A,w) := A*cos(w*x)$
parametersList: [ [p1=1, p2=2], [p1=3, p2=4] ]$
functionList: makelist( ev([f(x,p1,p2),g(x,p1,p2)], p), p, parametersList);
/* functionList looks like : [[f1,g1], [f2,g2],...]  */
/* Use flatten() to get : [f1,g1,f2,g2,...] */
plot2d( flatten(flist), [x, 0, 7]);
person Peutch    schedule 14.02.2012