我正在加载.csv文件,在matlab中进行一些计算。文件本身有大约1600行,但我只对一个子集感兴趣。
load file.csv; %load file
for i = 400:1200 %rows I am interested in
rh_x= file(i,60); % columns interested, in column 60 for the x, 61 for y
rh_y= file(i,61);
rh_x2 = file(i+1, 60); % next point (x,y)
rh_y2 = file(i+1, 61);
p1 = [rh_x, rh_y];
p2 = [rh_x2, rh_y2];
coord = [p1, p2];
Distan = pdist(coord, 'euclidean'); ****
disp(Distan);
end
我的 Distan 变量(距离公式)中没有存储任何内容,我尝试输入两个点。为什么会这样?我只是想为第400-1200帧计算行60和61中所有点对的距离公式。
谢谢。
答案 0 :(得分:2)
将您的coord
作业更改为以下内容:
coord = [p1; p2];
你拥有它的方式,它将所有x,y对存储在同一行,作为1x4矩阵。上述方法将其存储为2x2矩阵,pdist
给出答案。