График на функция като функция на друга функция в 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