i am trying to put my level curves and gradient vectors on same figure but i can't

4 views (last 30 days)
well, it is a simple question i am new in MATLAB. i cannot put my gradient vectors and level curves on same figure, please help me.
here is my code.
f=@(x,y) 16*y.^2 + 9*x.^2;
g= gradient(f, [x, y])
figure(1)
[X, Y] = meshgrid(-1:.1:1,-1:.1:1);
z=f(X,Y);
contour(X,Y,z,[0:10])
G1 = subs(g(1), [x y], {X,Y});
G2 = subs(g(2), [x y], {X,Y});
quiver(X, Y, G1, G2)

Accepted Answer

Star Strider
Star Strider on 20 Apr 2019
Your current approach is not going to work.
Try this instead:
f=@(x,y) 16*y.^2 + 9*x.^2;
g = @(z) gradient(z)
figure(1)
[X, Y] = meshgrid(-1:.1:1,-1:.1:1);
z=f(X,Y);
contour(X,Y,z,[0:10])
hold on
[G1,G2] = gradient(z);
quiver(X, Y, G1, G2)
hold off
axis equal
Experiment to get the result you want.

More Answers (0)

Categories

Find more on Programming in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!