MATLAB的输入与输出函数

匿名 (未验证) 提交于 2019-12-02 23:56:01

由于 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!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!