标题
- 输入:input()
- 1. 输入单个数值
- 2. 输入字符串
- 3. 输入以空格隔开的一行数值
- 4. 输入以空格与换行符隔开的多行数值
- 输出
- 1. disp()
- (1)输出单个数值
- (2)输出一维数组
- (3)输出矩阵
- (4)输出字符串
- 2. fprintf()
- (1)输出格式化的单个数值
- (2)输出格式化的一维数组
- (3)输出格式化的矩阵
- (4)输出格式化的字符串
由于 MATLAB不使用 stdin 和 stdout,而是使用command window进行交互。因此不需要使用 scanf 和 printf 等 C/C++ 函数来提示用户进行输入。但在某些情况下需要提示用户进行输入并打印相关结果时,可使用如下函数。
输入:input()
MATLAB中使用input()函数获取用户输入。
1. 输入单个数值
a = input(''); %不含提示的单个数值输入
a = input('Please input a number:'); %含提示的单个数值输入
2. 输入字符串
a = input('', 's'); %不含提示的字符串输入
a = input('Please input a string:', 's'); %含提示的字符串输入
3. 输入以空格隔开的一行数值
a = input('', 's'); %以字符串读入
a = str2num(a); %将字符串转化为一维向量,方便后续处理
4. 输入以空格与换行符隔开的多行数值
例如输入以空格和换行符输入三维矩阵:
a = zeros(3,3);
for i =1:3
A{i} = input('','s'); %使用胞元数组获取字符串
a(i,:) = str2num(A{i}); %将字符串转化为一维数组
end
在不知道用户即将输入几行几列时,该方法不适用。等日后了解到好的方法再来补充。
输出
1. disp()
disp()函数表示显示变量的值,对于单个数值、字符串、数组、矩阵都按照其格式显示。
(1)输出单个数值
A = 5;
disp(A)
5
(2)输出一维数组
A = [5 10];
disp(A)
5 10
(3)输出矩阵
A=[1 2;3,4];
disp(A)
1 2
3 4
(4)输出字符串
A = 'Hello World ! ';
disp(A)
Hello World !
2. fprintf()
fprintf()函数为格式化输出函数,用法与C语言printf类似。
(1)输出格式化的单个数值
a = 3.1415926;
fprintf('PI is %.5f.\n', a);
pi is 3.14159.
(2)输出格式化的一维数组
对于一维数组,根据格式化字符逐个进行输出。
a = [1 3 5];
fprintf('%d\n',a);
1
3
5
(3)输出格式化的矩阵
对于矩阵,可以使用以下方式输出。
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
end
end
1.02 2.21 3.58
4.12 5.85 6.58
7.96 8.73 9.86
(4)输出格式化的字符串
对于字符串,使用%s格式化字符。
s = 'hello world!';
fprintf('%s\n',s)
hello world!