輸出2. fprintf()
由於 matlab不使用 stdin 和 stdout,而是使用command window進行互動。因此不需要使用 scanf 和 printf 等 c/c++ 函式來提示使用者進行輸入。但在某些情況下需要提示使用者進行輸入並列印相關結果時,可使用如下函式。
matlab中使用input()函式獲取使用者輸入。
a = input(''); %不含提示的單個數值輸入
a = input('please input a number:'); %含提示的單個數值輸入
a = input('', 's'); %不含提示的字串輸入
a = input('please input a string:', 's'); %含提示的字串輸入
a = input('', 's'); %以字串讀入
a = str2num(a); %將字串轉化為一維向量,方便後續處理
例如輸入以空格和換行符輸入三維矩陣:
a = zeros(3,3);
for i =1:3
a = input('','s'); %使用胞元陣列獲取字串
a(i,:) = str2num(a); %將字串轉化為一維陣列
end
在不知道使用者即將輸入幾行幾列時,該方法不適用。等日後了解到好的方法再來補充。
disp()函式表示顯示變數的值,對於單個數值、字串、陣列、矩陣都按照其格式顯示。
a = 5;
disp(a)
a = [5 10];
disp(a)
5 10
a=[1 2;3,4];
disp(a)
1 23 4
a = 'hello world ! ';
disp(a)
hello world !fprintf()函式為格式化輸出函式,用法與c語言printf類似。
a = 3.1415926;
fprintf('pi is %.5f.\n', a);
pi is 3.14159.對於一維陣列,根據格式化字元逐個進行輸出。
a = [1 3 5];
fprintf('%d\n',a);
135對於矩陣,可以使用以下方式輸出。
a = [1.02 2.21 3.58;4.12 5.85 6.58;7.96 8.73 9.86];
for i =1:9
if mod(i,3) == 0
fprintf('%.2f\n',a(i));
else
fprintf('%.2f ',a(i));end
endend
1.02 2.21 3.58對於字串,使用%s格式化字元。4.12 5.85 6.58
7.96 8.73 9.86
s = 'hello world!';
fprintf('%s\n',s)
hello world!
函式的輸入與輸出
1 格式化的輸入函式 printf printf 格式控制字串 輸出表列 1 格式控制字串 轉義字元 字元形式 含義 asc ii a 響鈴 7 n 換行,將當前位置移到下行開頭 10 t水平製表 跳到下乙個tab位置 9 b 退格,將當前位置移到前一列 8 r回車,將當前位置移到本行開頭 13 f...
Linux 輸入與輸出函式總結
輸入輸出函式的介紹 1 所謂輸入輸出是以計算機為主體而言的。2 本章介紹的是向標準輸出裝置顯示器輸出資料的語句。3 在c語言中,所有的資料輸入 輸出都是由庫函式完成的。因此都是函式語句。4 在使用c語言庫函式時,要用預編譯命令 include將有關 標頭檔案 包括到原始檔中。使用標準輸入輸出庫函式時...
matlab的輸入輸出常見語句
x input please input a number please input a number 22 x 22 輸入字串 x input please input a string s please input a string this is a string x this is a st...