2011-11-26 71 views
1

我正在嘗試編寫一個matlab代碼來生成某種類型的文本文件中的結果頁,但這裏似乎存在一些基本知識差距(我是matlab新手) 。所以讓我困惑的是matlab如何處理字符串。我想我可以創建一個充滿字符串的矢量,例如SampleNr = ['sample1','sample2'];並且隨後採用該矢量並將文件打印到文件中的一個特定元素,例如, fprintf(fid, '%s', SampleNr(i));但是當我運行這個時,我只得到字符串i中的字符而不是整個字符串。正如我所說,這很可能是我誤解了這個概念,並且在數學工作網站上的搜索沒有讓我更清楚,所以我尋求stackexchange的集體智慧。一個MWE是:在fprintf輸出中獲取字符串以顯示所有字符

SampleNr = ['sample1','sample2']; 
sprintf('%s', SampleNr(2)) 

的方法來獲取整個字符串,將不勝感激,但我也想有這樣的困惑,如果可能的清理,所以在未來我可以在MATLAB字符串自信地工作。提前致謝。

回答

4

在matlab中,一個字符串是一個字符數組,因此當您編寫['sample1','sample2']時,它會連接兩個字符串來創建一個字符串'sample1sample2'

需要明確的是,當你寫一個字符串'sample',它存儲這樣的:['s','t','r','i','n','g']

做你想做什麼,你需要使用電池:

SampleNr = {'sample1','sample2'} 
sprintf('%s', SampleNr{2}) 
+0

感謝,這說明很多: ) –