2017-04-02 31 views
0

我試圖輸出矩陣到CSV文件到文件(以逗號分隔)使用此功能csvwrite('myMatrix.dat',L);(L爲方陣)我得到這個錯誤:問題編寫矩陣時使用csvwrite

>> csvwrite('myMatrix.dat',L); 
Error using sprintf 
Function is not defined for sparse inputs. 

Error in dlmwrite (line 169) 
     str = sprintf(format,m(i,:)); 

Error in csvwrite (line 42) 
dlmwrite(filename, m, ',', r, c); 

請問,這有什麼問題?

回答

0

您看到的錯誤與您的輸入(參數)有關。它告訴你文件名必須是「字符矢量」。

的「MATLAB特徵向量」快速谷歌給了我這個: http://mathworks.com/help/matlab/matlab_prog/creating-character-arrays.html#briuv_1-1

的「MATLAB csvwrite」阿谷歌給我這個: http://mathworks.com/help/matlab/ref/csvwrite.html?requestedDomain=www.mathworks.com

字面上看就是想出在谷歌的第一個結果。 ..

至少試着比較你提供的例子。

+0

謝謝你的回答。事實上,我嘗試使用字符向量作爲錯誤狀態的文件名,但它似乎沒有解決問題。我修改了顯示錯誤消息的帖子。 – Kris

+0

嘗試檢查'L'中的內容。 'whos('L')'也可以幫助你獲得更多信息。我從來不必在不一致的單元格或對象數組中使用csvwrite,所以我對這些情況一無所知。查看變量內容的簡單方法是雙擊工作區。另一種方法是在腳本中調用'csvwrite'時創建一箇中斷點,然後使用調試器並在知道它加載到內存後調用'L'。如果您仍然不知道發生了什麼,那麼請嘗試逐行「逐步進入」,這也是您提高調試技能的好時機。 – ToninGuy3n