График функции как функции другой функции в Mathematica

Я не совсем понял, что искать, поэтому, если этот вопрос уже задавался, заранее извиняюсь:

у меня две функции

R := Rref*mx(mx^(4/3) - C0)^(-1)

M := Mref*(mx + C1*mx^(-1)*((1 - C0*mx^(-4/3))^(-3) - 1))

где Rref, Mref, C0 и C1 — константы, а mx — переменная. Мне нужно построить R как функцию M. Конечно, в Mathematica должно быть что-то доступное для построения такого графика - я просто не могу его найти.


person Nikolaj Andresen    schedule 14.10.2014    source источник


Ответы (1)


Комментарий правильный, поскольку у вас есть набор из двух "параметрических уравнений". Вы бы использовали команду ParametricPlot. Однако синтаксис функций с параметрами иногда сложен, поэтому позвольте дать вам мою наилучшую рекомендацию:

R[Rref_, C0_, C1_][mx_] = Rref*mx (mx^(4/3) - C0)^(-1);
M[Mref_, C0_, C1_][mx_] = Mref*(mx + C1*mx^(-1)*((1 - C0*mx^(-4/3))^(-3) - 1));

Мне больше нравится эта запись, потому что вы можете делать такие вещи, как производные:

R[Rref,C0,C1]'[mx]

(* Output: -((4 mx^(4/3) Rref)/(3 (-C0 + mx^(4/3))^2)) + Rref/(-C0 + mx^(4/3)) *)

Затем вы просто параметрически строите функции:

ParametricPlot[
 {R[0.6, 0.3, 0.25][mx], M[0.2, 0.3, 0.25][mx]},
 {mx, -10, 10},
 PlotRange -> {{-10, 10}, {-10, 10}}
]

Вы можете заключить это в команду Manipulate, чтобы поиграть с параметрами:

Manipulate[
 ParametricPlot[
  {R[Rref, C0, C1][mx], M[Mref, C0, C1][mx]},
  {mx, -mmax, mmax},
  PlotRange -> {{-10, 10}, {-10, 10}}
 ],
 {Rref, 0, 1},
 {Mref, 0, 1},
 {C0, 0, 1},
 {C1, 0, 1},
 {mmax, 1, 10}
]

Это должно сделать это, я думаю.

person Kellen Myers    schedule 20.10.2014