Data dimensions must agree error
10 次查看(过去 30 天)
显示 更早的评论
Hi, I am trying to plot a 3D surface from 4 column data (x,y,z,data). When i run the code to plot the surface using
"surf(x,y,Data')" i got the error "Data dimensions must agree." anyone please help. Thanks. Here is the code :
Axstep=2.5;
Axlines=6000; %number of lines in axial direction
Path = 'C:\Users\asay0001\Google Drive
Data = zeros(480,Axlines);
for i = 1:Axlines
DataTemp = importdata([Path '\DATA (' num2str(i) ').txt']);
Data(:,i) = DataTemp(:,4);
end
Steps = DataTemp(:,1);
Axsteps=[1:Axlines]*Axstep;
figure; plot(Steps,Data(:,[1:Axlines])); grid on;
%need the lateral step size
Latstep=Steps(2)-Steps(1);
[x y] = meshgrid([-99.99:2.5:-497.50],[-400:2.5:97.49]);
surf(x,y,Data')
2 个评论
KSSV
2017-12-5
What is size of x,y and Data? They should be matrices of same dimensions......we don't have data in hand to check.
回答(1 个)
KSSV
2017-12-5
That case you have to foolow delaunayTriangulation. Read about it. Check the below code.
N = 100 ;
x = rand(N,1) ;
y = rand(N,1) ;
z = rand(N,1) ;
data = rand(N,1) ;
dt = delaunayTriangulation(x,y,z) ;
tri = dt.ConnectivityList ;
trisurf(tri,x,y,z,data) ;
In the above... x , y, z and data are your column matrices read from the text file.
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!