# How can specify interval of variables in fsurf?

9 views (last 30 days)
Rahul Bhadani on 7 Apr 2021
Answered: Mathieu NOE on 7 Apr 2021
I am following the documentation for fsurf:
There, I see an example:
f1 = @(x,y) erf(x)+cos(y);
fsurf(f1,[-5 0 -5 5])
However, I do not know what is the granularity of x and y. Let's say I am interested in x for -5 < x < 0 but interval should be 0.1, i.e. in MATLAB language it should be x= -5:0.1:0. Similarly, let say Y has -5:0.2:5
How should I accomplish that?
Mathieu NOE on 7 Apr 2021
hello
will do ,
maybe in the future TMW will let you choose a different mesh density for each direction...

Mathieu NOE on 7 Apr 2021
hi
see 'MeshDensity' — Number of evaluation points per direction
Control Resolution of Surface Plot
Control the resolution of a surface plot using the 'MeshDensity' option. Increasing 'MeshDensity' can make smoother, more accurate plots while decreasing it can increase plotting speed.
Create two plots in a tiled chart layout. In the first plot, display the parametric surface x=sin(s), y=cos(s), z=(t/10)sin(1/s). The surface has a large gap. Fix this issue by increasing the 'MeshDensity' to 40 in the second plot. fsurf fills the gap, showing that by increasing 'MeshDensity' you increased the resolution.
tiledlayout(2,1)
nexttile
fsurf(@(s,t) sin(s), @(s,t) cos(s), @(s,t) t/10.*sin(1./s))
view(-172,25)
title('Default MeshDensity = 35')
nexttile
fsurf(@(s,t) sin(s), @(s,t) cos(s), @(s,t) t/10.*sin(1./s),'MeshDensity',40)
view(-172,25)
title('Increased MeshDensity = 40')

KSSV on 7 Apr 2021
f1 = @(x,y) erf(x)+cos(y);
x = -5:0.1:0 ;
y = -5:0.2:5 ;
[X,Y] = meshgrid(x,y) ;
Z = f1(X,Y) ;
surf(X,Y,Z) Rahul Bhadani on 7 Apr 2021
Because my question was specifically about using fsurf and not in general about how to make a 3D plot.

### Categories

Find more on Surface and Mesh Plots in Help Center and File Exchange

R2020a

### Community Treasure Hunt

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

Start Hunting!