Create a surface with separate contours from other plots
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Indira
el 13 de Jun. de 2022
Comentada: Bjorn Gustavsson
el 13 de Jun. de 2022
I saved one contour from separate surfaces as a matrix of 3xn (each column is x, y and z (elevation)).
I use plot3 for each contour into a new plot window. I wonder if I can obtain a full surface from those contours.
plot3(CContour_13MW(:,1),CContour_13MW(:,2),CContour_13MW(:,3),'-o')
hold on;
plot3(CContour_14MW(:,1),CContour_14MW(:,2),CContour_14MW(:,3),'-o')
Note:
1) Contours have different length from each other (e.g., contour1 is 3x15, contour2 is 3x23, contour3 is 3x29).
2) I has this error when I tried to use interp1: Sample points must be unique and sorted in ascending order.
Thanks in advance.
2 comentarios
John D'Errico
el 13 de Jun. de 2022
Note that interp1 would have been useless, because interp1 is for a problem with only one independent variable. You have both x and y.
interp2 would be useless, because this is a scattered data interpolation problem. That is not what interp2 does, and you cannot force it to do that.
Note that you MAY still have some issues around the edges of the surface, as it is difficult to see if the data represents a convex domain in (x,y).
Without any data posted, I won't go any further, nor will I post an answer to suggest alternatives, and possible ways you might resolve any problems around the perimeter.
Respuesta aceptada
Bjorn Gustavsson
el 13 de Jun. de 2022
Just concatenate all your n-by-3 data into a large many-by-3 array and then check up the help and documentation of scatteredInterpolant. That function will do a triangulation-based interpolation on your data.
HTH
4 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Contour Plots en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!