How to plot this function

 Accepted Answer

Force the NaN value at (0,0) to be 0
[X,Y] = ndgrid(linspace(-5,5,50));
Z = (X.^3.*Y - X.*Y.^3)./(X.^2+Y.^2);
Z(isnan(Z)) = 0;
figure
surfc(X,Y,Z)
colormap(turbo)
.

2 Comments

It look fanstatic, thanks alot!!!
As always, my pleasure!

Sign in to comment.

More Answers (2)

Think it should look like this:
[X, Y] = meshgrid(-0.5:1/40:0.5);
Z = X.*Y.*(X.^2 - Y.^2)./(X.^2 + Y.^2);
surf(X, Y, Z), xlabel('x'), ylabel('y'), zlabel('f(x, y)')

3 Comments

but this graph doesnt cover the case f(0,0) =0 :(( Thanks for your help!!
[X, Y] = meshgrid(-0.5:1/40:0.5);
Z = X.*Y.*(X.^2 - Y.^2)./(X.^2 + Y.^2);
Z(X==0 & Y == 0) = 0;
surf(X, Y, Z), xlabel('x'), ylabel('y'), zlabel('f(x, y)')
Oh it look great!! Thanks a lot!!

Sign in to comment.

Hi!
Since you need to multiply by the truth, maybe this below:
f = @(x,y)((((x.^3).*y - x.*(y.^3)) ./ (x.^2 + y.^2) ).*( x ~= 0 & y~=0) + 0.*( x == 0 & y == 0))
f = function_handle with value:
@(x,y)((((x.^3).*y-x.*(y.^3))./(x.^2+y.^2)).*(x~=0&y~=0)+0.*(x==0&y==0))
[X, Y] = meshgrid([1:.5:10], [0:.1:10]);
F = f(X, Y) ;
surf(X, Y, F)
colorbar
Hope this helps!

1 Comment

I try to zoom in the interval [-0.5, 0.5] but it seems like it does not cover the case f(0,0) = 0

Sign in to comment.

Categories

Find more on Convert Image Type in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!