1
我是Matlab新手,我想將空格分隔的數字(源文件是Excel文件)轉換爲數組列表。在Matlab中將空格分隔的數字導入/轉換爲數組列表
在第一步我要創建這樣的陣列的列表:
然後我想轉名單如下:
這個轉換的正確命令是什麼?
我知道這是一個簡單的問題,但我找不到類似的問題。
我是Matlab新手,我想將空格分隔的數字(源文件是Excel文件)轉換爲數組列表。在Matlab中將空格分隔的數字導入/轉換爲數組列表
在第一步我要創建這樣的陣列的列表:
然後我想轉名單如下:
這個轉換的正確命令是什麼?
我知道這是一個簡單的問題,但我找不到類似的問題。
首先使用xlsread
來閱讀原始文本。文本將作爲單元格數組讀入,其中每行文本都放置在單元格中。一旦你這樣做了,就需要用空格分割字符串來爲每行創建一個額外的單元格數組,然後將這些單元格輸入到創建數字數組的函數中。您可以使用cellfun
結合strsplit
和str2double
。假設您的Excel文件被稱爲list.xls
,做這樣的事情:
[~,~,RAW] = xlsread('list.xls');
list = cellfun(@str2double, cellfun(@strsplit, RAW, 'uni', 0), 'uni', 0).';
list
包含所需的輸出。我也換了結果,因爲這是你的願望。我創建了一個Excel文件,它與您在文章中提到的方式相同。這是我運行代碼時得到的結果。首先,我將展示一下list
樣子,然後我們將研究什麼實際內容是:
>> list
list =
[1x4 double] [1x5 double] [1x6 double]
>> celldisp(list)
list{1} =
5405 5414 5420 9999
list{2} =
5405 5414 5430 5341 9999
list{3} =
5405 5419 5419 5419 5412 9999
這裏也是MATLAB變量編輯器是什麼樣子:
定義*列表*載體。你是說單元陣列嗎?你的輸入是什麼?二維字符數組,還是帶有換行符的單個字符串? –
請大家熟悉MATLAB內置的數據結構:數組和單元。你的問題的一部分表明你對這個問題不太清楚。另外,請先了解如何從Excel導入數據;這可能已經引導你或限制你的選擇。 –