4
$\begingroup$

I am at a loss how to transform the following function:

$\qquad \Bigg[\Bigg(\omega^{2}-\alpha+\beta*z^{4}\Bigg)^{2}+ (\delta*\omega)^{2}\Bigg]*z^{2} = \gamma$

into an explicit dependance of $z$ on $\omega$, i.e., $z = f(\omega)$. I have tried solving the equation using Matlab and Mathematica, but both programs return odd complex equations.

Is there any way to get a plot using this implicit function?

P.S. FYI this is the frequency response of a quintic Duffing oscillator.

$\endgroup$
5
$\begingroup$

Are you looking for something like this?

{α0, β0, γ0, δ0} = RandomReal[{0, 1}, 4];
Manipulate[
 ContourPlot[
  ((ω^2 - α + β z^4)^2 + (δ ω)^2) z^2 == γ,
  {z, -2, 2}, {ω, -2, 2}
  ],
 {{α, α0}, 0, 1},
 {{β, β0}, 0, 1},
 {{γ, γ0}, 0, 1},
 {{δ, δ0}, 0, 1}
 ]
$\endgroup$
  • $\begingroup$ Heh, exactly the same idea. $\endgroup$ – KraZug May 17 '18 at 9:08
  • 1
    $\begingroup$ Yeah, and at exactly the same time... -.- $\endgroup$ – Henrik Schumacher May 17 '18 at 9:10
  • 1
    $\begingroup$ Yes, thanks so much! $\endgroup$ – Sander Goudriaan May 17 '18 at 10:34
5
$\begingroup$

Yes, ContourPlot is exactly the function you need. Here wrapped in a Manipulate command to show how the function varies as you change the parameters.

Manipulate[ContourPlot[((ω^2 - α + β z^4)^2 + (δ ω)^2) z^2 == γ, {ω, -5, 5}, {z, -2, 2}, 
  FrameLabel -> {"ω","z"}], {{α, 1}, 0, 5}, {{β, 1}, 0, 5}, {{γ, 1}, 0, 5}, {{δ, 1}, 0, 5}]
$\endgroup$
  • 1
    $\begingroup$ Yes! Thanks so much $\endgroup$ – Sander Goudriaan May 17 '18 at 10:34
  • 1
    $\begingroup$ You're very welcome! $\endgroup$ – Henrik Schumacher May 17 '18 at 10:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.