Surface plot for two variable piecewise function
Mostrar comentarios más antiguos
I need help plotting the following piecewise function in Matlab as surface plot. Any help is appreciated!!
x1 and x2 are [0,1]

Respuestas (1)
Dyuman Joshi
el 21 de Oct. de 2023
0 votos
9 comentarios
Briana Canet
el 21 de Oct. de 2023
Movida: Dyuman Joshi
el 21 de Oct. de 2023
Why do you plot for -2 <= x1, x2 <= 3 if 0 <= x1, x2 <= 1 as you stated above?
And this part of your code seems superfluous:
x = linspace(-1, 3);
y = linspace(-1, 3);
[X,Y] = ndgrid(x,y);
Briana Canet
el 21 de Oct. de 2023
Briana Canet
el 21 de Oct. de 2023
Editada: Briana Canet
el 21 de Oct. de 2023
Dyuman Joshi
el 21 de Oct. de 2023
Editada: Dyuman Joshi
el 21 de Oct. de 2023
There is a discontinuity because that's how the function works.
U = @(x1,x2) (1-exp(-5*(x1.^3+x2.^2).^1/3)) .* (((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));
%The domain of x1 and x2 is [0 1]
fsurf(U, [0 1 0 1], 'MeshDensity', 75)
view([45 45])
There is a clear discontinuity when I plot though. How can I tell by how much I must adjust the equations to fix that?
Compute the values for your two function definitions for x1^3+x2^2 = 1 and make these values equal by adding appropriate values to your two functions. There is not a single solution, but many ways to do so. But I don't know what function manipulations are allowed in your case.
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
el 21 de Oct. de 2023
"A bracket around 1/3 was missing."
Ah, that should be it.
Categorías
Más información sobre Surface and Mesh Plots en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!




