MATLAB输出输入控制

431 阅读5分钟

本文已参与「新人创作礼」活动, 一起开启掘金创作之路。

自定义输入

函数名称用处示例
a=input('显示文字')将用户输入信息赋给a
a=input('显示文字','s')将用户输入的字符串赋给a,若用上面的则用户需要输入的要加分号

输出

函数名称用处示例
disp输出相应字符disp(x)/disp('显示字符串')
num2str可转换数值为字符,也可以用来连接两次输出内容disp(['输出字符串',num2str(数值)])
fprintf类似C语言的printf

字符串里有引号,要一次性输入两个

fprintf与sprintf的区别

一、输出不同

  1. sprintf函数:sprintf函数是把格式字符串输出到指bai定文件设备中。

  2. fprintf函数:fprintf函数是把格式字符串输出到指定字符串中。

二、参数不同

  1. sprintf函数:sprintf函数参数比printf多一个char*。

  2. fprintf函数:fprintf函数参数比printf多一个文件指针FILE*。

三、输出目标不同

  1. sprintf,是把格式化字符串输出到指定字符串,也可作为缓冲区,而printf只能输出到命令行上。

  2. fprintf,是把格式化字符串输出到指定文件中。

类型域格式

函数名称用处示例
%f定点格式
%e指数格式
%d十进制格式,若显示的数值是整数,则不包括尾部的零:若显示的数值是小数,则以指数形式显示
%g以%f或%e中的最紧凑形式显示
%c字符格式(每次显示一个字符)
%s字符串格式(显示完整的字符串)

%8.2f:表示显示最小宽度为8位,有两位小数

fprintf特殊应用

fprintf(’%4.0f %7.2f \n',table)

这里的table矩阵为两行三列,输出后相当于转置输出.

特殊格式命令

函数名称用处示例
\n换行
\r回车(与换行类似)
\t表格(在任意一行绘制表格)
\b退格

用fprintf将数据发送到文件里

       首先创建输出文件,然后用函数fopen打开该文件,同时给打开的文件分配-一个文件标识符 (即文件的别名,这里为file_ id):

file_ id = fopen( 'my_ output_ file.txt', 'wt');

       函数fopen的第一个输入参数是要打开的文件名。第二个输入参数是字符串'wt',表示要对文件进行写操作,就可以把这个文件标识符作为函数fprintf 的第一个输入参数按照指定格式把数据写入到文件中.

fprintf(file_ id, 'Some example output is %4.2f \n', p1*1000)

       这种函数格式将下列字符串写入文件my. output file.txt 中:

Some example output is 3141. 59

       并且会在命令窗口返回写入数据的字节数。(这里为32)

图形输入

       在MATLAB中,允许以图形的方式输入坐标x和y的值。命令ginput允许用户在图形窗口中年选一点,并将该点的位置转换成确切的x和y 坐标值。

函数名称用处示例
[x,y] = ginput (n)MATLAB 要求用户在图形窗口中任选n个点。
[x,y] = ginput不输入n的值,MATLAB会获取按回车键时所对应的点的坐标

从文件中读写数据

支持的文件类型

文本类型扩展名备注
文本.matMATLAB工作区文件格式
..datASCII码数据文件格式
..txtASCII码数据文件格式
.,csv以逗号分隔的ASCII码数据值文件格式
其他数据格式.cdf一般数据文件格式
..fits可灵活传输图像系统数据文件格式
..hdf层次化数据文件格式
电子表格数据.xlsExcel电子表格文件格式
..wkl123文件格式
图像数据.tiff标签图像文件格式
..bmp位图图像文件格式
..jpeg或.jpg图片压缩编码标准格式
..gif图形交换文件格式
音频数据.au音频文件格式
..wav音频文件格式
视频avi音频/视频交错文件格式

导入数据

**Import Wizard(一种交互式的输入方式)**可以用于输入简单的ASCII文件和Excel文件。在命令窗口输入函数uiimport可以弹出Import Wizard。函数uiimport的语法结构为

uiimport ( ' filename . extension' )

       例如,若导入音频文件decision.wav,则输入

uiimport(' decision.wav ')

       用户如果不愿意使用Import Wizard,那么可以输入命令直接读取数据文件。例如,输入函数wavreed可以读取wav文件: [data,fs] = wavread( 'decision.wav' )        很明显,使用这种方法必须知道数据类型,以便对创建的变量进行恰当的命名。输入

doc fileformats

       可以查询MATLAB所支持的数据文件类型。

导出数据

       使用help查询读取数据文件的函数,在读取数据文件的帮助信息后面还会有相应write函数的帮助链接。例如,读取Excel文件中的数据,使用函数xlsread,其语法结构为

xlsread('filename.xls')

       在帮助页面的最后,给读者提供了把数据写入Excel文件的函数。函数的语法结构为

xlswrite( ' filename.xls', M)

       其中,M是需要保存在Excel文件中的数组。