Creating Surface Plot from a Matrix with 3 Columns
    22 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
How do you create a surface plot using a matrix with 3 columns in Matlab? The first column would be the x-values, the second column would be the y-values, and the third column would be the z-values for the surface plot.
3 commentaires
Réponse acceptée
  KSSV
      
      
 le 30 Juil 2018
        A = [0.5000    0.5000   66.9052
0.5000    1.0000   57.3591
1.0000    0.5000   76.7805
1.0000    1.0000   66.9052] ;
x = A(:,1) ; y = A(:,2) ; z = A(:,3) ;
%%structured 
xi = unique(x) ; yi = unique(y) ;
[X,Y] = meshgrid(xi,yi) ;
Z = reshape(z,size(X)) ;
figure
surf(X,Y,Z)
%%unstructured 
dt = delaunayTriangulation(x,y) ;
tri = dt.ConnectivityList ;
figure
trisurf(tri,x,y,z)
11 commentaires
  MOHAMED GHAZI
 le 3 Avr 2022
				KSSV   how can I trisurf this matrix I used your email program it does not work.
P1=[1;0;1];
P2= [2; 3;2];
P3= [-3;1;2];
P4= [6;2;3];
MatrixP=[1 2 -3 6 ;0 3 1 2;1 2 2 3]; 
%%structured 
[X,Y] = meshgrid(MatrixP) ;
 B = unique(A,'rows');
figure
surf(X,Y,Z)
%%unstructured 
dt = delaunayTriangulation(x,y) ;
tri = dt.ConnectivityList ;
figure
trisurf(tri,x,y,z)
Plus de réponses (1)
  KSSV
      
      
 le 9 Oct 2021
        x = speed ; y = Torque ; z = bsfc ;
%%structured 
xi = unique(x) ; yi = unique(y) ;
[X,Y] = meshgrid(xi,yi) ;
Z = reshape(z,size(X)) ;
figure
pcolor(X,Y,Z)
%% griddata
xi = linspace(min(x),max(x));
yi = linspace(min(y),max(y)) ;
[X,Y] = meshgrid(xi,yi) ;
Z = griddata(x,y,z,X,Y)
pcolor(X,Y,Z)
0 commentaires
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!








