Matlab输入输出函数

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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
'w+' 可读可写,若文件已存在则原内容将被覆盖;若 文件不存在则新建一个 'a+' 可读可写可添加,文件若不存在则新建一个
文件的打开
fid 为文件句柄,其它函数可以用它对该文件进行操 作。如果句柄值大于 0,则表示文件打开成功;若打开 失败,fid 的返回值为 -1。
fid=fopen('output.txt','wt+');%t文本 fprintf(fid,'Hello world!\n'); fclose(fid);
format compact 紧凑格式
format loose 宽松格式
format +, format bank, format hex (详情查看联机帮助)
12
12
变量的存储
将变量保存到 mat 文件中
save 将所有变量保存到文件 matlab.mat 中
save fname save fname.mat
N Inf 读取 N 个数据到一个列向量 读取整个文件
[m,n] 读取 m n 个数据到一个 m n 矩阵中,按列 存放
文本文件的读取
format 用来控制读取的数据格式,由 % 加上 格式符组成,下表中是常见的格式符,在 % 之后 可以加上数据宽度,如 %12d
c d e f 字符型 十进制整数 浮点数(科学计数法) 浮点数(小数形式) g o s x 浮点数(自动) 八进制 字符串 十六进制
fprintf(fid,format,variables)
按指定的格式将变量的值输出到屏幕或指定的文件 fid 为文件句柄,若缺省,则输出到屏幕上 format 用来指定数据输出时采用的格式,包含:
普通字符串、格式字符串、转义字符
%d %e %f %g %s (整数 ) (实数:科学计数法形式 ) (实数:小数形式) (由系统自动选取上述两种格式之一) ( 输出字符串)

format 只改变输出格来自百度文库,不会改变变量的值!
11
各种 format
格式 解释 例
format
format short format long
短格式(缺省格式),同 short
短格式(缺省格式),小数点后 4 位 长格式,双精度 15位,单精度 7位
3.1416
3.1416 3.14159265358979
文本文件的写入
count=fprintf(fid,format,输出变量列表) 将输出变量按指定的格式写入文件中 若省略 fid,则表示在屏幕上输出 count 返回所写入的数据元素个数(可省) format 以 % 开头,通常由以下几个部分组成: flags (optional) Width and precision fields (optional) Conversion character (required)

fprintf 举例
fprintf('a= %-12.5f \n',123.456) format 以 % 开头 field width flag - :左对齐 + :输出符号 0 :空白处添 0 空格:前面加一空格 字段宽度 格式说明符
precision 小数点后 输出位数
文本文件的写入
fprintf 命令的格式说明符
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)
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位双精度数
二进制文件读写举例
例: 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);
13
Matlab 文件操作介绍
文件操作是一种重要的输入输出方式, Matlab 提供了一系列输入输出函数,专门用于文件操作。
Matlab 中的输入输出函数是以 C 语言标准库函 数中的输入输出函数为基础开发的,所以这些函数 与 C语言的输入输出函数相类似。
Matlab 文件操作主要有三个步骤:首先打开文 件,然后对文件进行读写操作,最后要关闭文件。
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
例: >> fprintf(' Today is Monday\n')
可以没有输出变量
Matlab 的输出格式
输出格式
Matlab 以双精度执行所有的运算,运算结果可以在屏幕 上输出,同时赋给指定变量;若无指定变量,则系统会自 动将结果赋给变量 “ans”

在屏幕上输出运算结果时,可以通过 format 命令指 定输出格式
save fname 变量

将所有变量保存到文件 fname.mat 中
将指定变量保存到文件 fname.mat 中
可同时保存多个变量,各变量之间用空格隔开
例: x=2:5; A=magic(3); a=2.4;
save mydata A x;
从 mat 文件中读取变量
load fname load fname 变量 读取 fname.mat 中的所有变量 从 fname.mat 中读取指定的变量 13
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
input
数据的输入:input
A=input(提示信息)
其中 提示信息 为字符串, 该命令要求用户输入 A 的值 (可以是数或字符串)
例 :
A=input('Please input A: ')
例 :
name=input('What''s your name? ') 输入字符串时必须带单引号 单引号的输出:两个连续的单引号
文件的打开
fid=fopen(文件名,打开方式)
其中文件名用字符串形式表示(可以带路径名) 常见的打开方式有:
'r' 只读,文件必须存在(缺省的打开方式) 'w' 写文件,若文件已存在则原内容将被覆盖;若文 件不存在则新建一个 'a' 在文件末尾添加,文件若不存在则新建一个
'r+' 可读可写,文件必须存在
fid=fopen('output.txt','wt+');
文件的关闭
status=fclose(fid);
其中 fid 为所要关闭的文件的句柄,status 为关 闭文件的返回代码,若关闭成功则为 0,否则为 -1。
文本文件的读取
[A,count]=fscanf(fid,format,size) A 用来存放读取的数据 count 返回读取数据的个数,为可选项 fid 为文件句柄 size 为可选项,缺省为读取整个文件, 若给出,则取值可以是:
c d e f 字符型 十进制整数 浮点数(科学计数法) 浮点数(小数形式) g o s x/X 浮点数(自动) 八进制 字符串 十六进制
format 中还可以使用的特殊字符
\b 退后一格 \t 水平制表符
\f
\n \r
换页
换行 回车
\\
'' %%
反斜杠
单引号 百分号
文本文件的写入举例
例:x=0:0.1:1;
二进制文件的读取
以下数据类型与使用的平台有关:
'char' 带符号字符 'short' 16位带符号整数 'int' 32位带符号整数 'long' 32或64位带符号整数 'ushort' 16位无符号整数
'uint' 32位无符号整数 'ulong' 32或64位无符号整数 'float' 32位浮点数
有两个标准代码文件,不需打开就可以直接使用,分 别为:fid=1 标准输出文件,fid=2 标准错误文件。
fprintf(1,'Hello world!\n'); fprintf(2,'Hello world!\n');
文件的打开
若不指定打开方式,则表示只读。 文件有两种格式:二进制文件(b)和文本文件(t)。 在Windows下,打开文件的默认是二进制格式,如果 要以文本方式打开,则必须在打方式中加上字符 't'。
数学软件 Matlab 文件操作
Matlab数据类型
Matlab 数据类型的最大特点是每一种类型都是以 数组为基础,Matlab事实上把每种类型的数据都作为 数组来处理。 Matlab 常用的数据类型有: numeric(数值型)
char(字符型) logical(逻辑型) cell(单元型) struct(结构)
\n ( 换行 ) \t ( 制表符 ) \b ( 退格 ) \\ ( 反斜杆 ) %% ( 百分号 )
fprintf
例 :
>> a='Hello'; >> b=2.4; >> c=100*pi; >> fprintf('a=%s, b=%f,c=%e\n',a,b,c) format 中的格式字符串要与输出变量一一对应
y=[x;exp(x)]; fid=fopen('output.dat','wt'); fprintf(fid,' x exp(x)\n'); fprintf(fid,'%6.2f %12.8f\n',y); status=fclose(fid);
二进制文件的读写
[A,count]=fread(fid,size,precision) A 用来存放读取的数据 count 返回读取数据的个数,可选项 fid 为文件句柄 size 为可选项,缺省为读取整个文件, 若给出,则取值可以是:
相关文档
最新文档