How can specify interval of variables in fsurf?

4 visualizaciones (últimos 30 días)
Rahul Bhadani
Rahul Bhadani el 7 de Abr. de 2021
Respondida: Mathieu NOE el 7 de Abr. de 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?
  3 comentarios
Rahul Bhadani
Rahul Bhadani el 7 de Abr. de 2021
Editada: Rahul Bhadani el 7 de Abr. de 2021
Thank you. This is what I was looking for. You can post it as an answer so that I can accept it.
However, there may still be a room for improvement, since meshdensity may not separatelyc control granularity in two directions.
Mathieu NOE
Mathieu NOE el 7 de Abr. de 2021
hello
will do ,
maybe in the future TMW will let you choose a different mesh density for each direction...

Iniciar sesión para comentar.

Respuesta aceptada

Mathieu NOE
Mathieu NOE el 7 de Abr. de 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')

Más respuestas (1)

KSSV
KSSV el 7 de Abr. de 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)
  3 comentarios
KSSV
KSSV el 7 de Abr. de 2021
I know that...but how it is going to matter surf or fsurf?
Rahul Bhadani
Rahul Bhadani el 7 de Abr. de 2021
Because my question was specifically about using fsurf and not in general about how to make a 3D plot.

Iniciar sesión para comentar.

Categorías

Más información sobre Surface and Mesh Plots en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by