请问Matlab中怎样用循环函数来表达从txt文本中提取每列的数据

我想用Matlab绘制一个带有数字标记的散点图。
在编写的时候,我用到了从本地txt中导入的'经纬度'数据,共分为两列。请问如何用类似for i = 1 : N 的循环函数来表达呢?
自己编写的代码是这样的:

img

下图是样例:

img

img

你可以按照下面的步骤使用MATLAB绘制带有数字标记的散点图。

  1. 读取数据:使用load命令从txt文件中读取数据,并将其存储到一个矩阵中。
    data = load('data.txt');
    
  2. 分离数据:将数据矩阵中的第一列和第二列分离出来,分别存储到两个向量中。
    x = data(:, 1);
    y = data(:, 2);
    
  3. 绘制散点图:使用scatter函数绘制散点图,其中,xy是散点的坐标,marker指定标记的形状,size指定标记的大小。
    scatter(x, y, 'filled', 'marker', 'o', 'size', 50);
    
  4. 添加标签:使用text函数在每个散点上添加标签,其中,x(i)y(i)是第i个散点的坐标,num2str(i)将数字转换为字符串,并在标签上显示。
    for i = 1:length(x)
     text(x(i), y(i), num2str(i), 'fontsize', 12, 'color', 'k', 'horizontalalignment', 'center', 'verticalalignment', 'middle');
    end
    
    完整代码如下:
    data = load('data.txt');
    x = data(:, 1);
    y = data(:, 2);
    scatter(x, y, 'filled', 'marker', 'o', 'size', 50);
    for i = 1:length(x)
     text(x(i), y(i), num2str(i), 'fontsize', 12, 'color', 'k', 'horizontalalignment', 'center', 'verticalalignment', 'middle');
    end
    
    运行代码后,就能够得到带有数字标记的散点图了。你可以根据需要,修改标记的形状、大小和位置等参数。
不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^