当前位置:文档之家› Matlab输入输出函数

Matlab输入输出函数

N Inf 读取 N 个数据到一个列向量 读取整个文件
[m,n] 读取 m n 个数据到一个 m n 矩阵中,按列 存放
文本文件的读取
format 用来控制读取的数据格式,由 % 加上 格式符组成,下表中是常见的格式符,在 % 之后 可以加上数据宽度,如 %12d
c d e f 字符型 十进制整数 浮点数(科学计数法) 浮点数(小数形式) g o s x 浮点数(自动) 八进制 字符串 十六进制

Matlab数据类型
数值(numeric)
数值型数据包括整数(带符号和无符号)和浮点数 (单精度和双精度)。
在缺省(默认)状态下,Matlab将所有的数都看作 是双精度的浮点数。 使用整型变量和单精度变量可以节约内存空间。
Matlab数据类型
整数
Matlab提供四种带符号整型和四种无符号整型数据类型 。 数据类型 取值范围 转换函数 Signed 8-bit integer -27 to 27 –1 int8 Signed 16-bit integer -215 to 215 –1 int16 Signed 32-bit integer -231 to 231 –1 int32 Signed 64-bit integer -263 to 263 –1 int64 Unsigned 8-bit integer 0 to 28 –1 uint8 Unsigned 16-bit integer 0 to 216 –1 uint16 Unsigned 32-bit integer 0 to 232 –1 uint32 Unsigned 64-bit integer 0 to 264 –1 uint64
文件的打开
fid=fopen(文件名,打开方式)
其中文件名用字符串形式表示(可以带路径名) 常见的打开方式有:
'r' 只读,文件必须存在(缺省的打开方式) 'w' 写文件,若文件已存在则原内容将被覆盖;若文 件不存在则新建一个 'a' 在文件末尾添加,文件若不存在则新建一个
'r+' 可读可写,文件必须存在
disp
数据的输出:disp
disp(X)
输出变量 X 的值,X 可以是数值矩阵或字符串 一次只能输出一个变量
例 :
>> A='Hello, Tom!'; >> disp(A) >> B=[1 2 3; 4 5 6; 7 8 9]; >> disp(B)
fprintf
数据的格式化输出:fprintf
\n ( 换行 ) \t ( 制表符 ) \b ( 退格 ) \\ ( 反斜杆 ) %% ( 百分号 )
fprintf
例 :
>> a='Hello'; >> b=2.4; >> c=100*pi; >> fprintf('a=%s, b=%f,c=%e\n',a,b,c) format 中的格式字符串要与输出变量一一对应

fprintf 举例
fprintf('a= %-12.5f \n',123.456) format 以 % 开头 field width flag - :左对齐 + :输出符号 0 :空白处添 0 空格:前面加一空格 字段宽度 格式说明符
precision 小数点后 输出位数
文本文件的写入
fprintf 命令的格式说明符
二进制文件读写举例
例: fid=fopen('output.dat','r');
A=fread(fid,100,'double'); status=fclose(fid); fid=fopen('output.dat','r'); [A,count]=fread(fid,[100,100],'double'); status=fclose(fid);
Matlab数据类型
数组
逻辑型 字符型
单元型
函 数 句 柄
Matlab7.1中的数据类型表
函数句柄
语法结构 handle = @functionname 函数句柄定义f(x)=x^2,可以写为 f=@(x)(x.^2) ; f(100) f1=@(x,y)(x.^2+y.^2); 则f1(2,3) Matlab内置的funm函数其实类似函数句柄格式 A=[1,2;3 4]; funm=(A,@sin)

format 只改变输出格式,不会改变变量的值!
11
各种 format
格式 解释 例
format
format short format long
短格式(缺省格式),同 short
短格式(缺省格式),小数点后 4 位 长格式,双精度 15位,单精度 7位
3.1416
3.1416 3.14159265358979
format compact 紧凑格式
format loose 宽松格式
format +, format bank, format hex (详情查看联机帮助)
12
12
变量的存储
将变量保存到 mat 文件中
save 将所有变量保存到文件 matlab.mat 中
save fname save fname.mat
有两个标准代码文件,不需打开就可以直接使用,分 别为:fid=1 标准输出文件,fid=2 标准错误文件。
fprintf(1,'Hello world!\n'); fprintf(2,'Hello world!\n');
文件的打开
若不指定打开方式,则表示只读。 文件有两种格式:二进制文件(b)和文本文件(t)。 在Windows下,打开文件的默认是二进制格式,如果 要以文本方式打开,则必须在打方式中加上字符 't'。
二进制文件的读取
以下数据类型与使用的平台有关:
'char' 带符号字符 'short' 16位带符号整数 'int' 32位带符号整数 'long' 32或64位带符号整数 'ushort' 16位无符号整数
'uint' 32位无符号整数 'ulong' 32或64位无符号整数 'float' 32位浮点数
例: >> fprintf(' Today is Monday\n')
可以没有输出变量
Matlab 的输出格式
输出格式
Matlab 以双精度执行所有的运算,运算结果可以在屏幕 上输出,同时赋给指定变量;若无指定变量,则系统会自 动将结果赋给变量 “ans”

在屏幕上输出运算结果时,可以通过 format 命令指 定输出格式
format shortE
format longE
短 E 格式(科学计数格式)
长 E 格式
3.1416e+000
3.141592653589793e+000
format shortG
format longG format rat
短 G 格式
长 G 格式 分数形式
3.1416
3.14159265358979 355/113
文本文件的写入
count=fprintf(fid,format,输出变量列表) 将输出变量按指定的格式写入文件中 若省略 fid,则表示在屏幕上输出 count 返回所写入的数据元素个数(可省) format 以 % 开头,通常由以下几个部分组成: flags (optional) Width and precision fields (optional) Conversion character (required)
'w+' 可读可写,若文件已存在则原内容将被覆盖;若 文件不存在则新建一个 'a+' 可读可写可添加,文件若不存在则新建一个
文件的打开
fid 为文件句柄,其它函数可以用它对该文件进行操 作。如果句柄值大于 0,则表示文件打开成功;若打开 失败,fid 的返回值为 -1。
fid=fopen('output.txt','wt+');%t文本 fprintf(fid,'Hello world!\n'); fclose(fid);
input
数据的输入:input
A=input(提示信息)
其中 提示信息 为字符串, 该命令要求用户输入 A 的值 (可以是数或字符串)
例 :
A=input('Please input A: ')
例 :
name=input('What''s your name? ') 输入字符串时必须带单引号 单引号的输出:两个连续的单引号
Inf N 读取整个文件(缺省) 读取 N 个数据到一个列向量
[m,n] 读取 m n 个数据到一个 m n 矩阵中,按列 存放
二进制文件的读取
precision 代表读取的数据的类型, 缺省为 uchar
'uchar' 'schar' 'int8' 'int16' 'int32' 'int64' 'uint8' 无符号字符 带符号字符 8位带符号整数 16位带符号整数 32位带符号整数 64位带符号整数 8位无符号整数 'uint16' 'uint32' 'uint64' 'float32' 'float64' 'double' 16位无符号整数 32位无符号整数 64位无符号整数 32位浮点数 64位浮点数 64位双精度数
相关主题