How to plot this function

1 Ansicht (letzte 30 Tage)
Dinh Le Dung
Dinh Le Dung am 1 Aug. 2022
Kommentiert: Star Strider am 2 Aug. 2022

Akzeptierte Antwort

Star Strider
Star Strider am 2 Aug. 2022
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 Kommentare
Dinh Le Dung
Dinh Le Dung am 2 Aug. 2022
It look fanstatic, thanks alot!!!
Star Strider
Star Strider am 2 Aug. 2022
As always, my pleasure!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Sam Chak
Sam Chak am 1 Aug. 2022
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 Kommentare
Walter Roberson
Walter Roberson am 2 Aug. 2022
[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)')
Dinh Le Dung
Dinh Le Dung am 2 Aug. 2022
Oh it look great!! Thanks a lot!!

Melden Sie sich an, um zu kommentieren.


Abderrahim. B
Abderrahim. B am 1 Aug. 2022
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 Kommentar
Dinh Le Dung
Dinh Le Dung am 2 Aug. 2022
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

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu 2-D and 3-D Plots finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by