Константы и независимые переменные в определениях функций - PullRequest
3 голосов
/ 07 декабря 2011

У меня есть уравнение, которое я пытаюсь построить и использовать в Mathematica, которое имеет вид

f(x,y) = (x^2 - a^2)^2 + x^2 y^2

Здесь x и y - независимые переменные, а a - постоянная.Каков стандартный способ определения функции, такой как этот: должны ли константы / параметры присутствовать в списке аргументов или этот список должен содержать только независимые переменные?Или же параметры должны присутствовать в списке аргументов, но в качестве необязательных аргументов (со значениями по умолчанию)?

Ответы [ 2 ]

4 голосов
/ 07 декабря 2011

Вы также можете создать себе функцию, которая генерирует ту, которая вам нужна.

f[a_] := Function[{x, y}, Evaluate[(x^2 - a^2)^2 + x^2 y^2]]

, а затем использовать ее для генерации функции

f[23]

Затем вы можете использовать эту функцию

f[23][2, 3]

или store help = f [23] и используйте

help[2,3]

Надеюсь, это поможет

4 голосов
/ 07 декабря 2011

Возможны все эти варианты, и каждый из них является обоснованным в некоторых обстоятельствах.

Присутствует в списке аргументов:

f[x_, y_, a_] := (x^2 - a^2)^2 + x^2 y^2

Или:

f[a_][x_, y_] := (x^2 - a^2)^2 + x^2 y^2

Только независимые переменные:

Глобально определенные a значение

a = 3.14;
f[x_, y_] := (x^2 - a^2)^2 + x^2 y^2

В качестве необязательного аргумента

f[x_, y_, a_:3.14] := (x^2 - a^2)^2 + x^2 y^2

Вам нужно быть более конкретнымотносительно вашего использования, если я хочу дать более конкретный ответ.Определенное в глобальном масштабе значение a следует использовать с осторожностью, но оно определенно не лишено своего места.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...