Plot different types of plots on same graph
    5 views (last 30 days)
  
       Show older comments
    
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
  Walter Roberson
      
      
 on 27 Jun 2012
				Note: MuPAD has its own plotting system that is not based on handle graphics.
Answers (1)
  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] )
 )
0 Comments
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


