matlab中fprintf和disp的有多大的區別啊

時間 2021-07-15 12:22:02

1樓:大野瘦子

區別很大,具體如下:

一、輸出的目標不一樣

disp用來直接顯示在命令列裡,非常輕量,fprintf是f(ile)printf(ormat),可以用來直接進行檔案的寫入,如果不指定檔案的fid那麼直接輸出到命令列。

二、用法不同

disp即display,可用來顯示字串、計算結果等。

例子:x= [1 2 3];

disp(['the values of x are: ', num2str(x)]);

結果顯示為:

the values of x are: 1  2  3

fprintf函式可以將資料按指定格式寫入到文字檔案中,也可以顯示字串、計算結果。

其呼叫格式為:

count = fprintf(fid, format, val1, val2, ...)

其中fid是我們要寫入資料檔案的檔案標識,format是控制資料顯示的字串。如果fid丟失,資料將寫入到標準輸出裝置(命令視窗)。 格式(format)字串指定佇列長度,小數精度,域寬和輸出格式的其他方面。

它包括文字數字字元(%)和字元序列(用於指定輸出資料顯示的精確格式)。

三、使用物件

想把字串pi=和變數pi的值顯示在一行上,試用disp(′pi=′,pi),回答這是非法的。這時應該用sprintf函式,它可把資料按要求的格式轉換為字串,再把它與需要顯示的字串組裝成一個長字串,使顯示格式非常靈活,人機介面更為友好,如鍵入:

st=sprintf(′ 圓周率pi= %8.5f′,pi);

disp(st)

結果為圓周率pi=3.14159

其中%為資料格式符,f表示十進位制浮點,8.5表示數字的長度為8位,小數點後5位,從%到f之間的字元都是不顯示的,它只指出顯示資料pi的格式,跟c的printf很相似。

2樓:匿名使用者

disp即display,可用來顯示字串、計算結果等 例子: x= [1 2 3];disp(['the values of x are: ', num2str(x)]);結果顯示為:

the values of x are: 1 2 3fprintf函式可以將資料按指定格式寫入到文字檔案中,也可以顯示字串、計算結果。其呼叫格式為:

count = fprintf(fid, format, val1, val2, ...) 其中fid是我們要寫入資料檔案的檔案標識,format是控制資料顯示的字串。如果fid丟失,資料將寫入到標準輸出裝置(命令視窗)。

格式(format)字串指定佇列長度,小數精度,域寬和輸出格式的其他方面。它包括文字數字字元(%)和字元序列(用於指定輸出資料顯示的精確格式)。例子:

fprintf('%6.4d\n',123) 顯示十進位制整數資料fprintf('%s\n','string') 顯示字元資料fprintf(1,'it''s friday.\n')結果顯示為:

it's friday.

3樓:匿名使用者

一樓二樓是正解,如果想多控制輸出的格式,推薦使用fprintf

4樓:匿名使用者

這個帖子不回對不起自己!我是不是太肉麻了!matlab技術論壇我來了!

如何在matlab中呼叫matlab中已有的函式

呼叫函式檔案 myfile.m clear clcfor t 1 10 y mylfg t fprintf m 1 3 6.4f n t,y end 自定義函式檔案 mylfg.m function y mylfg x 注意 函式名 mylfg 必須與檔名 mylfg.m 一致 y x 1 3 注 ...

matlab中 rand和 randn的區別,請分別舉例

歷史小店 主要區別 1 rand 生成均勻分佈的偽隨機數。分佈在 0 1 之間主要語法 rand m,n 生成m行n列的均勻分佈的偽隨機數,rand m,n,double 生成指定精度的均勻分佈的偽隨機數,引數還可以是 single rand randstream,m,n 利用指定的randstre...

matlab的plot命令,matlab中 plot函式全部功能怎麼用

我行我素 畫出圖形後一看就明白了 中括號一般表示區間或資料點,plot 2,1.1 中表示y座標,plot 2,1.1,1.1,2 1.1,1.1,1.1,1.1 中表示x座標和y座標的區間端點和資料值 1 沒有中括號就是表示點的意思,第一個就畫點 2,1.1 2 像樓上說得,中括號是構造矩陣用的,...