MATLAB文件各种操作方法(全)
MATLAB基本操作

2013年8月7日
第9页
一、Matlab基本操作
6 矩阵操作
fliplr:左右翻转 flipup:上下翻转 diag(A,k):产生或提取对角阵 triu(A,k):提取上三角阵 tril(A,k):提取下三角阵 rot90(A,k):矩阵逆时针旋转90度
2013年8月7日
第4页
一、Matlab基本操作
3 常用函数
求实数的绝对值、复数的模、字符串的ASCII码值: abs 取整:fix(向零取整)、floor、ceil、round(四舍五入)、
sign 数值处理:sum(求和)、mean(求平均值) 求余:rem(结果符号同被除数)、mod(结果符号同除 数); 格式:rem(x,y)和mod(x,y) 要求:x,y必为同大小的实矩阵或为标量
2013年8月7日 第7页
一、Matlab基本操作
例1 建立随机矩阵: (1) 在区间[20,50]内均匀分布的5阶随机矩阵。 (2) 均值为0.6、方差为0.1的5阶正态分布随机矩阵。 命令如下: x=20+(50-20)*rand(5) y=0.6+sqrt(0.1)*randn(5) 此外,常用的函数还有
2013年8月7日
第8页
一、Matlab基本操作
例3 托普利兹矩阵 托普利兹(Toeplitz)矩阵除第一行第一列外,其他每个元素都与左上角的元 素相同。生成托普利兹矩阵的函数是toeplitz(x,y),它生成一个以x为第一列, y为第一行的托普利兹矩阵。这里x, y均为向量,两者不必等长。toeplitz(x) 用向量x生成一个对称的托普利兹矩阵。例如 T=toeplitz(1:6)
MATLAB操作txt总结

使用文本文件(.txt)进行数据存取的技巧总结(相当的经典)使用文本文件(.txt)进行数据存取的技巧总结由于本帖内容较多,部分转自他人的心得,因此,凡转贴的地方仅用“----转----”标注,原作者略去,在此对所有原作者表示感谢!特别说明:由于大家在 I/O 存取上以 txt 文件为主,且读取比存储更麻烦(存储的话 fwrite, fprintf 基本够用),因此下面的讨论主要集中在“txt 文件的读取”上。
除了标注了“转”之外,其余心得均出于本人经验之结果,欢迎大家指正、补充。
一. 基本知识:--------------------------------------------------这是转载内容----------------------------------------------------1. 二进制文件与文本文件的区别:将文件看作是由一个一个字节(byte) 组成的,那么文本文件中的每个字节的最高位都是0,也就是说文本文件使用了一个字节中的七位来表示所有的信息,而二进制文件则是将字节中的所有位都用上了。
这就是两者的区别;接着,第二个问题就是文件按照文本方式或者二进制方式打开,两者会有什么不同呢?其实不管是二进制文件也好,还是文本文件也好,都是一连串的0和1,但是打开方式不同,对于这些0和1的处理也就不同。
如果按照文本方式打开,在打开的时候会进行translate,将每个字节转换成ASCII码,而以按照二进制方式打开的话,则不会进行任何的translate;最后就是文本文件和二进制文件在编辑的时候,使用的方式也是不同的。
譬如,你在记事本中进行文本编辑的时候,你进行编辑的最小单位是字节(byte);而对二进制文件进行编辑的话,最小单位则是位(bit),当然我们都不会直接通过手工的方式对二进制文件进行编辑了。
从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种:ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。
MATLAB文件操作

一、文件打开与关闭
文件打开 函数:
fopen 调用格式:
fid = fopen(filename,permission) Permission:’r’,’w’,’a’,’r+’,’w+’,
a+,A,W
文件关闭 函数:
fclose 调用格式:
fclose(fid) 关闭与打开实例
fprintf、fwrite(二进制文件写入) 调用格式:
fprintf(fid,format,A,...) 实例:
fprintf(fid,’%+10.2f\n’,x)
格式说明符
MATLAB的格式说明符包含5部分: % ——引导符(必需) +、-、0——标记(可选) 12.2——宽度与小数位数(可选) s、i、f、e、g——转换字符(必需) \n、%%——表控字符
三、特殊函数
load 从文件加载数据 uigetfile 选择欲打开文件 fgetl 从文件读入行 feof 判断是否文件末尾
fid=fopen(‘calculate.m’,’r’); fclose(fid);
二、文件读写
文件读取 函数:
fscanf、fread(二进制文件读取) 调用格式:
A = fscanf(fid,format,size) 实例
data=fscanf(fid,’%f’,[1,5])
文件写入 函数:
matlab命令解释以及应用

matlab命令,应该很全了!来源:李家叶的日志matlab命令一、常用对象操作:除了一般windows窗口的常用功能键外。
1、!dir 可以查看当前工作目录的文件。
!dir& 可以在dos状态下查看。
2、who 可以查看当前工作空间变量名,whos 可以查看变量名细节。
3、功能键:功能键快捷键说明方向上键Ctrl+P 返回前一行输入方向下键Ctrl+N 返回下一行输入方向左键Ctrl+B 光标向后移一个字符方向右键Ctrl+F 光标向前移一个字符Ctrl+方向右键Ctrl+R 光标向右移一个字符Ctrl+方向左键Ctrl+L 光标向左移一个字符home Ctrl+A 光标移到行首End Ctrl+E 光标移到行尾Esc Ctrl+U 清除一行Del Ctrl+D 清除光标所在的字符Backspace Ctrl+H 删除光标前一个字符Ctrl+K 删除到行尾Ctrl+C 中断正在执行的命令4、clc可以命令窗口显示的内容,但并不清除工作空间。
二、函数及运算1、运算符:+:加,-:减,*:乘,/:除,\:左除^:幂,‘:复数的共轭转置,():制定运算顺序。
2、常用函数表:sin( ) 正弦(变量为弧度)Cot( ) 余切(变量为弧度)sind( ) 正弦(变量为度数)Cotd( ) 余切(变量为度数)asin( ) 反正弦(返回弧度)acot( ) 反余切(返回弧度)Asind( ) 反正弦(返回度数)acotd( ) 反余切(返回度数)cos( ) 余弦(变量为弧度)exp( ) 指数cosd( ) 余弦(变量为度数)log( ) 对数acos( ) 余正弦(返回弧度)log10( ) 以10为底对数acosd( ) 余正弦(返回度数)sqrt( ) 开方tan( ) 正切(变量为弧度)realsqrt( ) 返回非负根tand( ) 正切(变量为度数)abs( ) 取绝对值atan( ) 反正切(返回弧度)angle( ) 返回复数的相位角atand( ) 反正切(返回度数)mod(x,y) 返回x/y的余数sum( ) 向量元素求和3、其余函数可以用help elfun和help specfun命令获得。
MATLAB操作命令大全

m a t l a b命令一、常用对象操作:除了一般w i n d o w s窗口的常用功能键外。
1、!d i r可以查看当前工作目录的文件。
!d i r&可以在d o s状态下查看。
2、w h o可以查看当前工作空间变量名,w h o s可以查看变量名细节。
3、功能键:功能键快捷键说明方向上键C t r l+P返回前一行输入方向下键C t r l+N返回下一行输入方向左键C t r l+B光标向后移一个字符方向右键C t r l+F光标向前移一个字符C t r l+方向右键C t r l+R光标向右移一个字符C t r l+方向左键C t r l+L光标向左移一个字符h o m e C t r l+A光标移到行首E n d C t r l+E光标移到行尾E s c C t r l+U清除一行D e l C t r l+D清除光标所在的字符B a c k s p a c eC t r l+H删除光标前一个字符?C t r l+K删除到行尾?C t r l+C中断正在执行的命令4、c l c可以命令窗口显示的内容,但并不清除工作空间。
二、函数及运算1、运算符:+:加,-:减,*:乘,/:除,\:左除^:幂,‘:复数的共轭转置,():制定运算顺序。
2、常用函数表:s i n()正弦(变量为弧度)C o t()余切(变量为弧度)s i n d()正弦(变量为度数)C o t d()余切(变量为度数)a s i n()反正弦(返回弧度)a c o t()反余切(返回弧度)A s i n d()反正弦(返回度数)a c o t d()反余切(返回度数)c o s()余弦(变量为弧度)e x p()指数c o s d()余弦(变量为度数)l o g()对数a c o s()余正弦(返回弧度)l o g10()以10为底对数a c o s d()余正弦(返回度数)s q r t()开方t a n()正切(变量为弧度)r e a l s q r t()返回非负根t a n d()正切(变量为度数)a b s()取绝对值a t a n()反正切(返回弧度)a n g l e()返回复数的相位角a t a n d()反正切(返回度数)m o d(x,y)返回x/y的余数s u m()向量元素求和3、其余函数可以用h e l p e l f u n和h e l p s p e c f u n命令获得。
MATLAB经典教程(全)PPT课件

THANKS FOR WATCHING
感谢您的观看
信号时域分析和频域分析
时域分析
研究信号随时间变化的规律,包括波形、幅度、频率、相位等。
频域分析
将信号转换为频域表示,研究信号的频谱结构和频率特性,包括幅 度谱、相位谱、功率谱等。
时域与频域关系
时域和频域是信号分析的两个方面,它们之间存在对应关系,可以 通过傅里叶变换相互转换。
数字信号处理基础
数字信号表示
MATLAB工作环境与界面
MATLAB工作环境
包括命令窗口、工作空间、命令历史窗口、当 前文件夹窗口等。
界面介绍
详细讲解MATLAB界面的各个组成部分,如菜 单栏、工具栏、编辑器窗口等。
基本操作
介绍如何在MATLAB环境中创建、保存、运行脚本和函数,以及如何进行基本 的文件操作。
基本数据类型与运算
数据统计描述性分析
描述性统计量
介绍均值、中位数、众数、方差、标准差等常见 描述性统计量的计算方法和意义。
数据分布形态
通过直方图、箱线图等图形展示数据的分布形态 ,帮助用户了解数据的整体特征。
数据间关系
探讨协方差、相关系数等统计量在揭示数据间关 系方面的应用。
数据可视化方法
二维图形绘制
详细讲解MATLAB中二维图形的绘制方法,包括线图、散点图、 柱状图等。
特征值与特征向量
特征值与特征向量的定义
设A为n阶方阵,若存在数λ和n维非零向量x,使得Ax=λx ,则称λ为A的特征值,x为A的对应于特征值λ的特征向量 。
特征值与特征向量的性质
包括特征值的和等于方阵对角线元素之和、特征值的积等 于方阵的行列式等性质。
MATLAB求解
使用MATLAB内置函数`eig`求解方阵的特征值和特征向量 。
matlab文件操作fopen,fseek,fread,fclose等

文件操作是一种重要的输入输出方式,即从数据文件读取数据或将结果写入数据文件。
MATLAB提供了一系列低层输入输出函数,专门用于文件操作。
1、文件的打开与关闭1)打开文件在读写文件之前,必须先用fopen函数打开或创建文件,并指定对该文件进行的操作方式。
fopen函数的调用格式为:fid=fopen(文件名,…打开方式‟)说明:其中fid用于存储文件句柄值,如果返回的句柄值大于0,则说明文件打开成功。
文件名用字符串形式,表示待打开的数据文件。
常见的打开方式如下:…r‟:只读方式打开文件(默认的方式),该文件必须已存在。
λ…r+‟:读写方式打开文件,打开后先读后写。
该文件必须已存在。
λ…w‟:打开后写入数据。
该文件已存在则更新;不存在则创建。
λ…w+‟:读写方式打开文件。
先读后写。
该文件已存在则更新;不存在则创建。
λ…a‟:在打开的文件末端添加数据。
文件不存在则创建。
λ…a+‟:打开文件后,先读入数据再添加数据。
文件不存在则创建。
λ另外,在这些字符串后添加一个“t”,如…rt‟或…wt+‟,则将该文件以文本方式打开;如果添加的是“b”,则以二进制格式打开,这也是fopen函数默认的打开方式。
2)关闭文件文件在进行完读、写等操作后,应及时关闭,以免数据丢失。
关闭文件用fclose函数,调用格式为:sta=fclose(fid)说明:该函数关闭fid所表示的文件。
sta表示关闭文件操作的返回代码,若关闭成功,返回0,否则返回-1。
如果要关闭所有已打开的文件用fclose(…all‟)。
2、二进制文件的读写操作1)写二进制文件fwrite函数按照指定的数据精度将矩阵中的元素写入到文件中。
其调用格式为:COUNT=fwrite(fid,A,precision)说明:其中COUNT返回所写的数据元素个数(可缺省),fid为文件句柄,A用来存放写入文件的数据,precision代表数据精度,常用的数据精度有:char、uchar、int、long、float、double等。
第2章 MATLAB基本操作

6. 逻辑操作符 功能: 功能:逻辑操作运算。 格式: 格式:A&B A|B ~A 注意逻辑操作有相应的M文件 文件: 注意逻辑操作有相应的 文件:A&B等效 等效 ),A|B等效于 等效于or(A,B), 于and(A,B), ( , ), 等效于 , , ~A等效为 等效为not(A)。 等效为 。
2.关系操作符 关系操作符 关系运算符包括: 关系运算符包括:< 、< = 、〉、> = 、= = 、 ~= 3.测试用的逻辑函数 测试用的逻辑函数 1)all函数测定矩阵中是否全为非零元素 2)any函数测试出矩阵中是否有非零值 3) find函数可找出矩阵中的非零元素及其下 标 4) exist函数在装入数据之前对数据文件作 检测
利用取整和求余函数,可得到整数或精确到小数点后的第 几位。例如: x1=10-round(20*rand(2,5)) %产生[-10 10]之间的随机数(取整) x1 = -4 4 -1 -4 7 -7 -2 0
2 −7
x2=10-round(2000*rand(2,5))/100 %产生[−10 10]之间的随机 数(精确到0.01) x2 = -8.0000 -2.9000 -3.2000 -6.4300 -6.3600 3.1600 4.2100 -0.6800 3.1800 -4.5400
5.函数 函数 内部函数、工具箱函数、自定义函数。 1)函数的嵌套 x=sqrt(log(z)) 函数的嵌套 2)多输入函数 theta=atan2(y,x) 多输入函数 3)多输出函数 [v,d] = eig(a) 多输出函数 [y,I] = max(x) 6.表达式 表达式 a=(1+sqrt(10))/2 b=abs(3+5i) c=sin(exp(-2.3))
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.1 文件的打开和关闭1.1.1 文件的打开fopen ('filename', 'mode')mode格式有:‘r’:只读方式打开文件(默认的方式),该文件必须已存在。
‘r+’:读写方式打开文件,打开后先读后写。
该文件必须已存在。
‘w’:打开后写入数据。
该文件已存在则更新;不存在则创建。
‘w+’:读写方式打开文件。
先读后写。
该文件已存在则更新;不存在则创建。
‘a’:在打开的文件末端添加数据。
文件不存在则创建。
‘a+’:打开文件后,先读入数据再添加数据。
文件不存在则创建。
如果rt表示该文件以文本方式打开,如果添加的是“b”,则以二进制格式打开,这也是fopen函数默认的打开方式。
Fopen函数两个返回值:1、一个是返回一个文件标识(file Identifier),它会作为参数被传入其他对文件进行读写操作的命令,通常是一个非负的整数,可用此标识来对此文件进行各种处理。
(如果返回的文件标识是–1,则代表fopen无法打开文件,其原因可能是文件不存在,或是用户无法打开此文件权限);2、另一个返回值就是message,用于返回无法打开文件的原因;例:1-1[f,message]=fopen('fileexam1', 'r')if f==-1disp(message); %显示错误信息end(若文件fileexam1不存在,则显示如下信息。
Cannot open file.existence?permissions?memory?)例:1-2[f,message]=fopen('fileexam2', 'r');if f==-1disp (message); %显示错误信息elsedisp(f);end若文件fileexam2存在,则返回f值。
1.1.2文件的关闭Fclose(f)F为打开文件的标志,若若fclose函数返回值为0,则表示成功关闭f标志的文件;若返回值为–1,则表示无法成功关闭该文件。
(打开和关闭文件比较耗时,最好不要在循环体内使用文件)若要一次关闭打开的所有文件,可以使用下面的命令:fclose all1.2文本数据MATLAB自带的MAT文件为二进制文件,但为了便于和外部程序进行交换以及方便查看文件中的数据,也常常采用文本数据格式(数据采用ASCII码格式,可以表示字母和数字字符)与外界进行数据交换。
1.2.1 从文本文件中读取数据1、使用导入模板来读取数据2如:A=load('my_data.txt');3、读取有分隔符的ASCII数据文件如果数据文件不使用空格符而是使用逗号或是其他符号作为分隔符,用户可以选择多个可用的导入数据函数。
最简单的便是使用函数dlmread。
例2-1lcode.dat0.3445,0.8433,0.78650.7562,0.4233,0A=dlmread('lcode.dat',',')(分隔符只能选取单个字符,不能用字符串来作为分隔符)4. 使用文本头读取数值数据要读取一个包含文本头的ASCII码数据文件,可以使用textread函数,并指定头行参数。
Textread既能处理有固定格式的文件,也可以处理无格式的文件,还可以对文件中每行数据按列逐个读取。
textread函数常见的调用方法有如下几种:[A,B,C...]=textread('filename', 'format')[A,B,C...]=textread('filename', 'format',N)例2-2num1 num2 num3 num40.3242 0.4324 0.3455 0.67540.4566 0.9368 0.9892 0.92740.4658 0.2832 0.9373 0.8233因为有文件头,要使用如下textread命令来读取文件中的数据。
>> [num1 num2 num3num4]=textread('my_data.txt','%f %f %f %f','headerlines',1)执行结果如下:num1 =0.32420.45660.4658num2 =0.43240.93680.2832num3 =0.34550.98920.9373num4 =0.67540.92740.82335. 读取字母数值混合的数据例2-3文件my_exam.dat包含的混合的字母和数值如下:Joe gradeA 4.9 passsusan gradeD 2.0 fail如果想把4列数据全部读取出放在4个变量中,则使用如下命令:>> [name gra grades answer]=textread('my_exam.dat','%s %s %f %s') (textread 函数按格式字符串中指定的格式处理文件中的某个数据项,并把值放在输出变量中。
输出变量的数目必须和格式字符串中指定的变换数目项匹配,在该例中,函数按格式字符串来读取文件)若文件采用的分隔符不是空格,则必须使用函数textread ,将该分隔符作为它的参数。
例如,若文件my_exam.dat 使用分号作为分隔符,则读入该文件需使用如下命令:[name gra grades ans]=textread('my_exam.dat','%s %s %f %s','delimiter', '; ')2 文件的存储2.1 文件存写函数若要将当前的MATLAB工作空间的一个或多个变量写到一个有分隔符的ASCII码文件中,可以使用save命令或dlmwrite函数。
在默认情况下,save命令是以 MAT 格式存写数据的。
例 3-1>> clear all;>> x=rand(2,3);>> save my_test1.dat x -ascii;结果为:9.2181297e-001 1.7626614e-001 9.3546970e-0017.3820725e-001 4.0570621e-001 9.1690444e-0012.2 使用文件I/O函数2.2.1格式化写入文本数据例3-2创建一个2×2的魔方矩阵,然后打开一文件,写入数据。
>> clear all;>> x=magic(2);>> fid=fopen('exam4.txt','w');>> fprintf(fid,'%4.2f %8.4f\n',x);>> fclose(fid);x =1 34 2>> type exam4.txt1.00 4.00003.00 2.0000(fprintf函数存储的时候按行读取,然后按列存写)2.2.2 控制文件位置指针Fseek frewind设定指针位置重设指针到文件起始位置Ftell feof获得指针位置测试指针是否在文件结束位置1、fseek函数用法fseek 函数用于指定文件指针的位置,调用方式如下:status=fseek(fid,offset,origin)fid是指定的文件标识符。
offset为整数型变量,表示相对于指定位置需要的偏移字节数,正数表示向文件末尾偏移,负数表示向文件开头偏移。
Origin可以是特定字符串,也可以是整数,表示文件中的参考位置。
参考位置说明:'bof '或者 -1文件开头'cof '或者 0 文件中当前位置'eof '或者 1文件末尾2、ftell函数用法ftell 函数用来获得当前文件指针的位置,调用方式如下:position=ftell(fid)fid是指定的文件标识符。
Position为返回值,表示当前指针的位置。
position是以相对于文件开头的字节数来表示的。
如果返回值为–1,表示未能成功调用。
这是可以通过调用feeeor(fid)的具体的错误信息。
3、frewind函数用法frewind 函数用来把文件指针重新复位到文件开头。
调用方式如下:frewind(fid)其中fid为指定的文件标识符,其作用和fseek(fid,0,-1)是等效的。
4、feof函数用法feof 函数用来判断是否到达文件末尾。
调用方式如下:eofstat=feof(fid)其中fid为指定的文件标识符。
eofstat是返回值,当到达文件末尾时,eofstat为1;否则为0。
f=fopen('my_test.dat','r');>> A=fscanf(f,'%g',[4 2])A =0.4565 0.44470.8214 0.79190.6154 00.0185 0>>feof(f)ans=1%c读取字符型变量,也可以指定多个字符,'%3c'%s读取字符串变量%d读取整数型变量%f读取浮点数%g读取双精度浮点数3、fprintf函数功能fprintf(fileID, format, A)count = fprintf(...)fprintf写入返回数字的字节。
1、Format:使用单引号的字符串,它描述了输出字段的格式。
可以包括下列组合:百分号后跟一个转换字符,如'%s的为字符串'。
(1)转义字符(2)数值类型字符(3)字段宽度最小的字符数进行打印。
可以是一个数字或一个星号(*)是指输入列表中的一个论据。
例如,输入列表('%12d,intmax)相当于('%* D',12,intmax)。
精确宽度。