我需要制作一个3D表面,其中颜色代表第四个变量。我知道“冲浪”与我所需要的相似,但是效果不好。基本上我从光电二极管传感器扫描沿x,y,z和第四个变量获得的数据是强度(数据)。数据按以下顺序存储在文本文件中。
总文件数= 2380 在每个文件中有4列和480行。列表示x,y,z,数据
我试图绘制3D表面,但得到此错误“使用错误 matlab.graphics.chart.primitive.Surface /套 值必须是矢量或数字的2D数组 输入“。请帮忙
这是代码
close all;
close all;
Axstep=2.5; % scanning with 2.5 micron step along x and y directions
Axlines=2380; %number of text files( in each file there are 4 column of equal
sized data (x,y,z,data) and 480 rows)
Path = 'C:\Users\asay0001\Google Drive\matlab\exp2_27-11-17_CONF09\all data - Copy';
Data = zeros(480,Axlines); % 480 rows in one file out of 2380
for i = 1:Axlines
DataTemp = importdata([Path '\DATA (' num2str(i) ').txt']);
Data(:,i) = DataTemp(:,4); % read column 4 which represents data to be ploted
end
[x y,z] = meshgrid([-3200:2.5:-2602.5],[325:2.5:672.5],[-800:100:800]);
surf(x,y,z,Data')