[英]Error “Index exceeds matrix dimensions.” in MatLab using importdata with a text file
我正在嘗試使用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);
以下是textfile.txt中數據的格式...
,,, 5.4 ,,, 0.0 ,,, 0.0 ,,, 1.6 ,,, 2.5 ,,, 1.0 ,,, 6.7 ,,, 2.8 ,,, 6.1數據由空格定界(我使用逗號嘗試顯示數據之間的空格),並在每行末尾使用換行符。 我已經打開了word中的textfile.txt,並通過查看隱藏的格式設置字符進行了驗證。 我試過了代碼...
[A,delimiterOut,headerlinesOut] = importdata(inputfile);
嘗試驗證使用的定界符,然后出現錯誤“輸出參數太多”。 如您所見,我正在嘗試從導入的數據創建兩個矩陣(X,Y)。 我在stackoverflow上看到了此特定錯誤,但與importdata無關。 我也嘗試過dlmread,但還沒有碰運氣。 在此先感謝您的幫助。
嘗試了使用file-> import data導入數據的建議,但我收到錯誤。使用importdata的錯誤輸出參數過多。
“ 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。 再次感謝您的幫助!
看起來從importdata返回的數組是一個1元素數組。
train = importdata('textfile.txt'); fprintf('1st element in array %d\\n', 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 %d\\n', traindata(2)); % produces error, "Index exceeds matrix dimensions"
我經常發現使用matlab的內置GUI導入數據文件很有用,這可以幫助可視化如何導入數據。 這里有一個選項可以生成復制在導入期間選擇的選項所需的代碼,這將使您了解如何動態導入數據。
只需轉到:
文件>>>導入數據...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.