matlab的輸出流控制

2021-09-22 12:10:32 字數 3195 閱讀 6195

matlab之print,fprint,fscanf,disp函式

print:

print函式可以把函式圖形儲存成:

[plain]view plain

copy

minbnd = -4*pi;  

maxbnd = 4*pi;  

t = minbnd:0.1*pi:maxbnd;  

plot(t, sin(t), 'g', 'linewidth', 2);  

line([minbnd, maxbnd], [0, 0]);    %繪製x軸  

axis([-10, 10, -2, 2])             %定義顯示的座標區間:x在(-10,10)之間,y在(-2,2)之間  

grid on;  

title('sin(x)');  

xlabel('x');  

ylabel('sin(x)');  

print('-dpng','sin.png');          %儲存為png,在matlab當前的工作目錄下  

如下:開啟matlab當前的工作目錄下可以看到有sin.png了

print('-dpng', 'sin.png')表示儲存為png,檔名為sin.png,其中第乙個引數可以是:

-dbmp:儲存為bmp格式

-djpeg:儲存為jpeg格式

-dpng:儲存為png格式

-dpcx:儲存為pcx格式

-dpdf:儲存為pdf格式

-dtiff:儲存為tiff格式

fprintf:

[plain]view plain

copy

data = [5, 1, 2; 3, 7, 4];  

[row, col] = size(data);  

for i=1:row  

for j=1:col  

fprintf('data(%d, %d) = %d\n', i, j, data(i, j));   %直接輸出到螢幕;類似於c語言的輸出格式  

end  

end  

fprintf(fid, format, data)中的fid表示由fopen函式開啟的檔案控制代碼,如果fid省略,則直接輸出在螢幕上,format是字串形式的輸出格式,data是要輸出的資料。其中format可以為:

[plain]view plain

copy

%c    單個字元  

%d    有符號十進位制數(%i也可以)  

%u    無符號十進位制數  

%f    浮點數(%8.4f表示對浮點數取8位寬度,同時4位小數)  

%o    無符號八進位制數  

%s    字串  

%x    小寫a-f的十六進製制數  

%x    大小a-f的十六進製制數  

輸出到檔案:

[plain]view plain

copy

data = [5, 1, 2; 3, 7, 4];  

[row, col] = size(data);               %求出矩陣data的行數和列數  

%加t表示按windows格式輸出換行,即0xod 0x0a,沒有t表示按linux格式輸出換行,即0x0a  

fid=fopen('test.txt', 'wt');           %開啟檔案  

for i=1:row  

for j=1:col  

fprintf(fid, '%d ', data(i, j));   %類似於c語言的輸出格式  

end  

fprintf(fid, '\n');  

end  

fprintf(fid, 'this is a string\n');  

fprintf(fid, '%x', hex2dec('abcd'));  

fclose(fid);                           %最後不要忘記關閉檔案!  

就會在matlab當前的工作目錄下生成test.txt檔案

從檔案中讀取:

我們可以使用fscanf函式

fscanf:

[plain]view plain

copy

%加t的理由和上面一樣  

fid=fopen('d:\test.txt', 'rt');  

%把資料讀到data中。其中data是2*3的矩陣  

data=fscanf(fid, '%d', [2, 3]);  

s=fscanf(fid, '%s');  

d=fscanf(fid, '%x');  

%關閉檔案  

fclose(fid);  

disp(data);  

disp(s);  

disp(d);  

從輸出的結果看,我們發現fscanf讀取資料時會忽略空格,直到回車為止!

disp:

disp函式直接將內容輸出在matlab命令視窗中:

[plain]view plain

copy

%單字串輸出:  

disp('hello world!');  

%不同型別資料輸出:  

num1 = 1;  

num2 = 2;  

disp([ num2str(num1), ' + ', num2str(num2), ' = ', num2str(num1+num2)]);  

輸出:hello world!

1 + 2 = 3

C 輸出流格式控制 iomanip

一 概述 在c 程式裡面經常見到下面的標頭檔案 include 這裡面iomanip的作用比較多 主要是對cin,cout之類的一些操縱運運算元,它是i o流控制標頭檔案。就像c裡面的格式化輸出一樣.以下是一些常見的控制函式的 二 使用 c 的格式化輸出控制,有兩種方式 2.1方式一 setiofl...

C 輸入輸出流格式控制

1.使用控制符控制輸出格式 控制符作用dec 設定整數的基數為10 hex設定整數的基數為16 oct設定整數的基數為8 setbase n 設定整數的基數為n n只能是16,10,8之一 setfill c 設定填充字元c,c可以是字元常量或字元變數 setprecision n 設定實數的精度為...

C 輸入輸出流格式控制

1.使用控制符控制輸出格式 控制符作用dec 設定整數的基數為10 hex設定整數的基數為16 oct設定 整數的基數為8 setbase n 設定整數的基數為n n只能是16,10,8之一 setfill c 設定填充字元c,c可以是字元常量或字元變數 setprecision n 設定實數的精度...