reshape data to fit into surf/contour
    3 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
    feynman feynman
 le 25 Nov 2024
  
    
    
    
    
    Commenté : feynman feynman
 le 1 Déc 2024
            nodalPositions is a 2*100 double matrix storing the nodal positions of a PDE on a 2D domain with 100 nodes. x=nodalPositions(1,:) and y=nodalPositions(2,:) are the nodal x and y coordinates. The solution of the PDE, u, is a 1*100 double array. One can plot(x,y,'.') to plot the nodes in a plane or plot3(x,y,u,'.') to plot u in 3-space. How to reshape x, y, u so that one can surf(x,y,u) or contour(x,y,u)?
0 commentaires
Réponse acceptée
  Walter Roberson
      
      
 le 25 Nov 2024
        You cannot do that.
Consider using https://www.mathworks.com/matlabcentral/fileexchange/38858-contour-plot-for-scattered-data 
Or,
N = 100;
[minx, maxx] = bounds(x);
[miny, maxy] = bounds(y);
[Xg, Yg] = ndgrid( linspace(minx, maxx, N), linspace(miny, maxy, N));
F = scatteredInterpolant(x(:), y(:), u(:));
Ug = F(Xg, Yg);
surf(Xg, Yg, Ug, 'edgecolor', 'none');
6 commentaires
  Walter Roberson
      
      
 le 30 Nov 2024
				@Stephen23 is right. When y = x then all of the data falls along a single line. Triangulation of a single line fails.
Plus de réponses (0)
Voir également
Catégories
				En savoir plus sur Geometry and Mesh 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!



