How do I plot a multivariate piecewise continuous function?

10 views (last 30 days)
Hi, I wish to plot a mesh and a contour of multivariate piecewise continuous functions but everytime I try something, I end up getting the wrong or no plot at all.
Here is a sample function that I have been trying to plot
which is a rhombic function and must lead to a rhombic contour.
  3 Comments
Rohit Sinha
Rohit Sinha on 6 Apr 2022
@Dyuman Joshi The range is mentioned in the problem statement in the conditions. For simplicity, x and y both lie between -1 and 1
Bruno Luong
Bruno Luong on 7 Apr 2022
Edited: Bruno Luong on 7 Apr 2022
The last and the first domain are intersecting so you have 2 different definitions of your function for example at x=0,y=-1, is f(x,y) = 0-1-1=-2 or 0+1-1=0?

Sign in to comment.

Answers (2)

Dyuman Joshi
Dyuman Joshi on 7 Apr 2022
k=meshgrid(-1:0.01:1);
for i=1:size(k,1)
for j=1:size(k,2)
if k(i).. & k(j)..
f(i,j)=..;
elseif k(i).. & k(j)..
f(i,j)=..;
end
end
end
surf(-1:0.01:1, -1:0.01:1, f)

Torsten
Torsten on 6 Apr 2022
Why don't you write a simple function for F with 4 if-statements for the 4 cases ?
function value = F(x,y)
if x ... && y ...
value = ...
elseif x ... && y ...
value = ...
elseif x... && y ...
value = ...
elseif x ... && y ...
value = ....
else
disp('x and/or y out of range')
end
end

Community Treasure Hunt

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

Start Hunting!