Finding normals to contours on contour plot
11 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Gregory McFadden
am 20 Apr. 2017
Beantwortet: Kelly Kearney
am 20 Apr. 2017
Is there a good way to find a set of curves that are normal to the contours on a contour plot?
What I have is a set of data that I have used meshgrid and contour to generate a contour plot, however what I really want is a set of curves that are normal to the contours shown in the plot. I am not sure if there is a straightforward way to get that.
thanks Greg
0 Kommentare
Akzeptierte Antwort
Kelly Kearney
am 20 Apr. 2017
Take a look at the various streamline functions ( stream2, streamline, etc). Depending on your surface, you may need to do some analysis to figure out the best starting points to get even coverage (in the following example, I just chose random points):
[X,Y] = meshgrid(-2:.2:2);
Z = X.*exp(-X.^2 - Y.^2);
[DX,DY] = gradient(Z,.2,.2);
nline = 100;
xstart = rand(nline,1)*4 - 2;
ystart = rand(nline,1)*4 - 2;
xy = stream2(X,Y,DX,DY,xstart, ystart)
figure
contour(X,Y,Z)
hold on
streamline(xy);
0 Kommentare
Weitere Antworten (1)
Andrew Newell
am 20 Apr. 2017
You want curves to follow the gradients. It's easy enough to represent the gradient using a quiver plot, but if you want to put lines through those arrows, you'll probably have to set up and solve an ODE for each starting point. That would certainly be doable if you had a function that generated the data, but I don't know how you'd do that for a data set.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Contour Plots finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!