extrapolating data points/surface between two 3D lines
14 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hello all! I have two data sets (x,y,z1) (x,y,z2) where x, y and z are all seperate vectors of length n. I can plot each data set together as a 3D line plot using: plot3(x,y,z1,x,y,z2), but I would also like to interpolate/extrapolate the linear surface which exists between these two lines, effectively creating a 3D surface plot. Is there a good way to do this?
0 commentaires
Réponses (1)
Star Strider
le 28 Juil 2014
Without seeing your data, it’s difficult to be specific. See if griddata (or its friends) will do what you want.
2 commentaires
Star Strider
le 29 Juil 2014
The problem (that I didn’t appreciate before) is that (z1, z2) are defined at the same points. If you plot them using stem3, z1 are simply plotted on the same stems as z2.
If x and y are actually the same (as they are in your example), I suggest you use a 2D plot, such as the area plot to get the effect you want.
I suggest you experiment with patch for a 3D version of it. The patch function requires some experimentation to get it to do what you want.
Examples:
figure(1)
patch(x, y, [ z1; z2 ], 'g')
grid
view([15 30])
figure(2)
patch([0 x 0], [0 y 0], [0 z1 0; z1(1) z2 z2(3)], 'b')
grid on
view([15 30])
Voir également
Catégories
En savoir plus sur Surface and Mesh Plots dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!