Clear Filters
Clear Filters

Surface plot for two variable piecewise function

8 views (last 30 days)
I need help plotting the following piecewise function in Matlab as surface plot. Any help is appreciated!!
x1 and x2 are [0,1]

Answers (1)

Dyuman Joshi
Dyuman Joshi on 21 Oct 2023
Utilize meshgrid to generate the points and evaluate the function using the points.
Then employ surf to plot the piecewise function.
  9 Comments
Torsten
Torsten on 21 Oct 2023
Edited: Torsten on 21 Oct 2023
A bracket around 1/3 was missing. Should be
U = @(x1,x2) (1-exp(-5*(x1.^3+x2.^2).^(1/3))-(1-exp(-5))) .* (((x1.^3 + x2.^2) >= 0) & ((x1.^3 + x2.^2) <= 1)) + (x1.^3 + x2.^2 - 1) .* (((x1.^3 + x2.^2) >= 1) & ((x1.^3 + x2.^2) <= 2));
figure
fsurf(U, [ 0 1 0 1], 'MeshDensity',75)
Dyuman Joshi
Dyuman Joshi on 21 Oct 2023
"A bracket around 1/3 was missing."
Ah, that should be it.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!