Clear Filters
Clear Filters

Plot different types of plots on same graph

2 views (last 30 days)
Billy
Billy on 20 May 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 Comments
per isakson
per isakson on 21 May 2012
Try to insert "hold on" between the calls of plot
Walter Roberson
Walter Roberson on 27 Jun 2012
Note: MuPAD has its own plotting system that is not based on handle graphics.

Sign in to comment.

Answers (1)

Andreas Sorgatz
Andreas Sorgatz on 27 Jun 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!