我正在尝试使用 importdata 导入数据,当我尝试解析返回的数据以创建矩阵时,我得到"索引超过矩阵维度"。 下面是我的代码...
traindata = importdata('textfile.txt');
%[A,delimiterOut,headerlinesOut] = importdata('textfile.txts');
disp(traindata); %everytime I run this code traindata increments by 1
X = traindata(' ',1:8); %this is where the error occurs, delimiter is 3 spaces
Y = traindata(' ',9);
以下是文本文件中数据的格式.txt...
,,,5.4,,,0.0,,,0.0,,,1.6,,,2.5,,,1.0,,,6.7,,,2.8,,,6.1,,,4.2,,,1.1,,,3.6,,,3.9,,,1.8,,,9.3,,,3.3,,,2.4,,,7.6 数据
由空格分隔(我使用逗号尝试显示数据之间的空格)和每行末尾的换行符。 我已经打开了文本文件.txt在单词中并通过查看隐藏的格式字符进行验证。 我已经尝试了代码...
[A,delimiterOut,headerlinesOut] = importdata(inputfile);
尝试验证使用的分隔符,我收到错误"输出参数过多"。 如您所见,我正在尝试从导入的数据创建两个矩阵 (X,Y)。 我已经在堆栈溢出上看到了这个特定的错误,但没有关于导入数据的任何内容。 我也尝试过dlmread,但没有运气。 提前感谢任何帮助。
尝试使用文件>导入数据导入数据的建议,但我收到错误。.使用导入数据时出错输出参数过多。
"uiimport/runImportdata 中的错误(第 433 行) [datastruct, OTextDelimiter, OHeaderLines] = ...
uiimport/gatherFilePreviewData 中的错误(第 376 行) [datastruct, textDelimiter, headerLines]= runImportdata(fileAbsolutePath, type);
uiimport 中出错(第 194 行)[ctorPreviewText, ctorHeaderLines, ctorDelim] = ..."
我开始怀疑这是否是某种应用程序错误。 以下是一些细节。"R2012a (7.0.14.739) 64 位 (Win64)"。 文本文件的编码为 utf-8。 再次感谢您的帮助!
看起来从导入数据返回的数组是一个 1 元素数组。
train = importdata('textfile.txt');
fprintf('1st element in array %dn', traindata(1)); % prints a number a number that increase each time I run this function ie 1,2,3,4...
fprintf('2nd element in array %dn', traindata(2)); % produces error, "Index exceeds matrix dimensions"
我经常发现使用 matlab 内置的 GUI 导入数据文件很有用,这有助于可视化数据的导入方式。 此处有一个选项可以生成复制导入期间选择的选项所需的代码,这将允许您确定如何动态导入数据。
只需转到:
文件>>>导入数据...