10/28/2006

7.4 DISP(X)

這個指令是最簡單列印資料的用法,其結果在螢幕中顯示。其中X可為矩陣,也可為文字模式,但不能兩者兼具。其顯示的結果不包含變數名稱,只有內容。例如:


>>disp('本期樂透彩中獎號碼為:')
ans=本期樂透彩中獎號碼為:
>>disp(rand(5,4)*10^3)
ans=
582.7917 225.9499 209.0694 567.8287
423.4963 579.8069 379.8184 794.2107
515.5118 760.3650 783.3286 59.1826
333.9515 529.8231 680.8458 602.8691
432.9066 640.5265 461.0951 50.2688


這樣的處理方式有點笨拙,文字顯示與矩陣顯示必須執行兩次,這是因為disp(X)中的X僅能處理一個參數。雖然如此,這個參數仍然可使用向量替換,故妥善的辦法是利用向量將一些數值經過轉換後,組成向量之型式以中括號起來。例如:
>disp(['今天的日期是 ' date]) 
今天的日期是 02-Apr-2006


若要文字與其他數值型變數共用,則必須利用num2str()的函數轉換;將數值轉成字串,然後用中括號括起來,當作一個向量參數處理。例如我的身高178公分,則:

>>height=178;
>>disp(['我現在的身高是 ' num2str(height) '公分。'])
我現在的身高是 178公分。


雖然經過這樣處理比較麻煩,但在程式寫作時,只要稍加用心也可以克服一些困難。這種處理方式同樣可以應用在input指令之文字串中,以提供更彈性的資訊給回答者。