Creating Surface Plot from a Matrix with 3 Columns
49 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
KSSV
2018-7-30
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 个评论
MOHAMED GHAZI
2022-4-3
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)
更多回答(1 个)
KSSV
2021-10-9
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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Surface and Mesh Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!