打开一个文本文件,扫描它并在MATLAB中绘图

打开一个文本文件,扫描它并在MATLAB中绘图,matlab,plot,import,Matlab,Plot,Import,我试图在MATLAB中打开一个文本文件,并将其绘制成图形。以下是我的代码: %% Get the data [filename, pathname] = uigetfile('*txt', 'Pick text file'); x=filename(:,1); y=filename(:,2); plot(x,y); 但每次我运行它时,都会出现以下错误: Error using plot Invalid first data argument. Error in readtxtfile (li

我试图在MATLAB中打开一个文本文件,并将其绘制成图形。以下是我的代码:

%% Get the data 
[filename, pathname] = uigetfile('*txt', 'Pick text file');
x=filename(:,1);
y=filename(:,2);
plot(x,y);
但每次我运行它时,都会出现以下错误:

Error using plot
Invalid first data argument.
Error in readtxtfile (line 5)
plot(x,y); 

我导入的文本文件有两行。我计划在MATLAB中绘制第一行和第二行(第1行,第2行)。

您将文件名存储在
filename
中,并与文件存储在
pathname
中的目录路径相结合,但实际上您尚未读取任何内容。要做到这一点,最简单的方法就是使用。我假设您的文本文件格式正确,可以像您所说的那样包含两行数据。如果是这种情况,您需要更改索引数据的方式。您需要索引整个列而不是行,因此需要在代码中翻转索引。此外,还需要调用
dlmread
,然后访问生成矩阵的列:

%% Get the data 
[filename, pathname] = uigetfile('*txt', 'Pick text file');
data = dlmread(fullfile(pathname, filename));
x=data(1,:);
y=data(2,:);
plot(x,y);

请注意,我设置了要使用的文件的完整路径,因为使用
uigetfile
可以从计算机上的任何位置读取文件,因此我们确保捕获文件的完整路径。再次重申,
pathname
是包含文件的目录,
filename
是包含在目录中的文件名。

此代码有效,我能够将其绘制在一起。。。但我得到的只是一个直线图,我没有寻找我不确定这是怎么发生的我觉得它没有读取txt文件中的值它现在通过以下修改工作
x=data(:,1)
y=数据(:,2)