標籤:
print:
print函數可以把函數圖形儲存成圖片:
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:
fprintf函數可以將資料按指定格式寫入到文字檔中:
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可以為:
%c 單個字元
%d 有符號十進位數(%i也可以)
%u 無符號十進位數
%f 浮點數(%8.4f表示對浮點數取8位寬度,同時4位小數)
%o 無符號八位元
%s 字串
%x 小寫a-f的十六進位數
%X 大小a-f的十六進位數
輸出到檔案:
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 isa string\n‘);
fprintf(fid, ‘%X‘,hex2dec(‘ABCD‘));
fclose(fid); %最後不要忘記關閉檔案!
就會在Matlab當前的工作目錄下產生test.txt檔案
從檔案中讀取:
我們可以使用fscanf函數
fscanf:
%加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命令視窗中:
%單字串輸出:
disp(‘Hello World!‘);
%不同類型資料輸出:
num1 = 1;
num2 = 2;
disp([ num2str(num1),‘ + ‘, num2str(num2), ‘ = ‘, num2str(num1+num2)]);
輸出:
Hello World!
1 + 2 = 3
Matlab之print,fprint,fscanf,disp函數(轉)