【matlab】輸出顯示函數 sprintf()&disp()


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

 

------------------------


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM