如何在MATLAB中,把空间三维的点如图1中绿色的点,画成光滑的曲线如图2中的红色的线

空间点存于网盘中:
链接:https://pan.baidu.com/s/1vTDTGrp1VIWF3QMK4UmPPw
提取码:pbny
图1

img


图2

img

下面是画绿色点的程序:

clear
clc
M=load('qq.txt');
x=M(:,1);
y=M(:,2);
z=M(:,3);
scatter3(x,y,z,'g','filled')

求连续曲线的程序,感谢!

你好,这个需要先划分5组,然后每组排列大小,最后连在一起

 
clear; clc
M=load('qq.txt');
x=M(:,1);
y=M(:,2);
z=M(:,3);
[a,b,c] = histcounts(y,5);
xx = [];
yy = [];
zz = [];
for i = 1:5
   p = c==i;
   ex = x(p);
   ey = y(p);
   ez = z(p);
   [ex, idx] = sort(ex);
   ey = ey(idx);
   ez = ez(idx);
   if(mod(i,2)==0)
       xx = [xx; ex(end:-1:1)];
       yy = [yy; ey(end:-1:1)];
       zz = [zz; ez(end:-1:1)];
   else
       xx = [xx; ex];
       yy = [yy; ey];
       zz = [zz; ez];
   end
end
 plot3(xx, yy, zz, 'r-')
 xlabel('x'); ylabel('y'); zlabel('z')

img

效果