How to plot implicit function with conditions?
Show older comments
I need to plot a function / surface of the form f(x,y,z)=0
But, I also need to put some constraints like
-3.14< $\sqrt{x+y}$ <3.14
How can i achieve this?
Answers (2)
Use "fimplicit" or "fimplicit3" and select ranges for the variables:
4 Comments
Abir Ghosh
on 10 Jul 2022
Torsten
on 10 Jul 2022
And what is the function f for which you want to plot the surface f(x,y,z)=0 ?
Here is an example:
fimplicit(@fun)
function values = fun(x,y)
values = NaN(size(x));
values(x+y<0) = x.^2+y.^2-1.0;
end
Abir Ghosh
on 11 Jul 2022
Doesn't look that nice ...
fimplicit3(@fun,[-5 5 -5 5 -5 5])
function values = fun(x,y,z)
[theta,r] = cart2pol(x,y);
%r = sqrt(x.^2+y.^2);
%theta = atan2(y,x);
values = NaN(size(x));
for i=1:numel(x)
if abs(z(i)+r(i)) < pi && abs(z(i)-r(i)) < pi
values(i) = (tan(z(i)+r(i))+tan(z(i)-r(i))) - (tan(z(i)+r(i))-tan(z(i)-r(i))).*cos(theta(i));
end
end
end
Categories
Find more on Surface and Mesh Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
