How do I plot a multivariate piecewise continuous function?

8 次查看(过去 30 天)
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 个评论
Rohit Sinha
Rohit Sinha 2022-4-6
@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 2022-4-7
编辑:Bruno Luong 2022-4-7
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?

请先登录,再进行评论。

回答(2 个)

Dyuman Joshi
Dyuman Joshi 2022-4-7
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 2022-4-6
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

类别

Help CenterFile Exchange 中查找有关 Surface and Mesh Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by