disp()功能類似於c語言中的print;java語言中的System.out.println();
Matlab的disp()函數 :
1.輸出字符串:
>>disp('my test')
my test
2.輸出數字:
>> test=3;
>> disp(test)
3
3.同時輸出字符串和數字:
>> test=3;
>> disp(['my test=',num2str(test)])
my test=3
sprintf和disp的區別 :
>> disp('pi=',pi)
Error using ==> disp
Too many input arguments.
---------------------
如上,想把字符串pi=和變量pi的值顯示在一行上,試用disp(′pi=′,pi),回答這是非法的。
-->應該disp(['pi=',num2str(pi)]),disp里面要是一個字符串,所以需要轉換一下,用[]連接2個字符,使用num2str轉換。
disp(['圓周率=',num2str(pi)]) disp只顯示一個str類數據,所以用[…] . 其中數據用“,”隔開。
-->或,可用sprintf函數,它可把數據按要求的格式轉換為字符串,再把它與需要顯示的字符串組裝成一個長字符串,使顯示格式非常靈活,人機界面更為友好。
如鍵入:
st=sprintf(′ 圓周率pi= %8.5f′,pi);
disp(st)
結果為:
圓周率pi=3.14159
其中,%為數據格式符,f表示十進制浮點,8.5表示數字的長度為8位,小數點后5位。
從%到f之間的字符都是不顯示的,它只指出顯示數據pi的格式。
---------------------------------------------------------------------------
>> disp(sprintf('圓周率pi= %8.5f',pi))
圓周率pi= 3.14159
sprintf命令是從C語言中的同名命令演化來的,sscanf則是它的逆命令,相仿的還有fprintf和fscanf。
再舉一個用sprintf的例子:
它為y的兩列規定了不同的顯示格式。
x = 0: 10: 90;
y = [x; sin(x*pi/180)];
disp(sprintf (′%10.2f %12.8f\n′,y))
結果為:
0.00 0.00000000
10.00 0.17364818
80.00 0.98480775
90.00 1.00000000
------------------------