在 MATLAB 中,數個字元(Characters)可以構成一個字串(Strings),一個字串是被視為一個列向量(Row Vector)進行儲存,而此一字串中的每一字元(含空白字元),是以其 ASCII 碼的形式存放於此列向量中的每一個元素(Element),只是其外顯形式仍然是可讀的字元。例如:
多個字串變數可直接並排,以得到一個新字串變數,例如:
欲輸入含有單引號的字串,可重覆單引號的使用,例如:
若要計算字串變數的長度(即組成字元的個數),可用 length 指令:
若要檢視字串變數的儲存內容(即 ASCII 內碼),可使用 double 指令,例如:
若要將 ASCII 內碼轉回字串形式,可用 char 指令,例如:
由於 MATLAB 在儲存字串時,無論是中文或英文,每一個字元都會佔用兩個位元組(2 Bytes),故在上例中,字串變數 sentence 總共由 16 個字元構成,佔用的記憶體總計為三十二個位元組(32 bytes),可使用 whos 指令來檢視字串變數 sentence 所佔用儲存空間:
由於 MATLAB 是以兩個位元組來儲存一個字元,所以也可以支援 Big5 的中文碼,而且 Big5 中文的 ASCII 內碼都會大於數字 128,可驗證如下:
請注意,由於 MATLAB 將字串以其相對應之 ASCII 內碼(即數字形式)儲存成一列向量,故若對此字串直接進行數值運算,MATLAB 會先將此字串轉成數值,再進行一般數值向量的運算,例如:
若要直接"執行"某一特定字串,可以使用 eval 指令,其效果就如同直接在 MATLAB 指令視窗內輸入此一特定字串,例如:
此結果和由 MATLAB 命令視窗內直接輸入「x = [1 2 3]; y = x.^2」的結果是完全相同的。eval 指令特別適用於在 for - loop 內自動產生有規律的變數名稱,例如:
由上可知 x3 , x4 , x5 , x6 都是在 for - loop 中產生的變數,分別代表維度為 3×3、4×4、5×5、6×6 的魔方陣。(魔方陣的性質是:其直行、橫列及對角線的元素值總和均相等。)
MATLAB程式設計:入門篇