Azzera filtri
Azzera filtri

Plot different types of plots on same graph

2 visualizzazioni (ultimi 30 giorni)
Billy
Billy il 20 Mag 2012
Assume I've defined
f2 := (x,y) -> x*exp(y) + cos( x*y )
and
gf2 := gradient( f2(x,y), [x,y] )
I'd like to plot the level curves of the function, as well as the vector field of the gradient, on one plot.
plot(
// level curves
plot::Implicit2d( f2(x,y)=Z, x=-5..5, y=-5..5, Color=[-Z/10,Z/10,0] ) $ Z=-2..2,
// gradient
plot( plot::VectorField2d( gf2, x=-5..5,y=-5..5, Mesh=[10,10] ) )
)
This doesn't work though! It generates 2 plots.
Can I have mupad superimpose the gradient vector field with the level curves of the original function?
  2 Commenti
per isakson
per isakson il 21 Mag 2012
Try to insert "hold on" between the calls of plot
Walter Roberson
Walter Roberson il 27 Giu 2012
Note: MuPAD has its own plotting system that is not based on handle graphics.

Accedi per commentare.

Risposte (1)

Andreas Sorgatz
Andreas Sorgatz il 27 Giu 2012
The following input displays all objects in one plot:
f2 := (x,y) -> x*exp(y) + cos( x*y );
gf2 := gradient( f2(x,y), [x,y] );
plot(
// level curves
plot::Implicit2d( f2(x,y)=Z, x=-5..5, y=-5..5, Color=[-Z/10,Z/10,0] ) $ Z=-2..2,
// gradient
plot::VectorField2d( gf2, x=-5..5,y=-5..5, Mesh=[10,10] )
)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by