How can specify interval of variables in fsurf?

4 Ansichten (letzte 30 Tage)
Rahul Bhadani
Rahul Bhadani am 7 Apr. 2021
Beantwortet: Mathieu NOE am 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?
  3 Kommentare
Rahul Bhadani
Rahul Bhadani am 7 Apr. 2021
Bearbeitet: Rahul Bhadani am 7 Apr. 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 am 7 Apr. 2021
hello
will do ,
maybe in the future TMW will let you choose a different mesh density for each direction...

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Mathieu NOE
Mathieu NOE am 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')

Weitere Antworten (1)

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

Melden Sie sich an, um zu kommentieren.

Produkte


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by