matlab如何创建元组_matlab操作(⼩总结1)
⼀、Matlab⽂件处理 1
1、打开关闭⽂件 1
2、读取⽂件 1
3、移动⽂件指针 2
4、⽂件操作的⼀个例⼦ 2
⼆、Matlab字符⽂件处理 2
1、txt⽂件读写 2
三、Matlab字符串处理 2
1、获取字符串长度 2
2、连接字符串 2
3、字符串替换查 3
4、字符串转换 3
ascii文件夹怎么创建5、字符串排序 3
四、元组cell和结构struct 3
1、单元数组(cell array) 3
2、结构数组(struct array) 3
五、Matlab⽬录操作 4
⼀、Matlab⽂件处理
1、打开关闭⽂件
fid=fopen(⽂件名,打开⽅式)
打开⽅式有:r(读),w(写),a(追加到⽂件末尾)
返回的是⽂件句柄。
sta=fclose(fid)
通过⽂件句柄关闭⽂件。关闭成功返回0,否则返回-1
feof(fid)
判断是否到达⽂件末尾。是则返回true。
2、读取⽂件
(注:以下的fid都表⽰⽂件句柄)
(1) 以⼆进制形式读写:(⼆进制⽂件的读写)
[a,count]=fread(fid, size, pre) —具体的查看帮助。读取的数据在a中,count存储读取数据的个数。size为可选项,不写时默认读取整个⽂件。
count=fwrite(fid,a,pre ) —具体的查看帮助。a中存放所需写的数据,count返回成功写⼊的个数。
(2) 格式化读写:(⽂本⽂件的读写)
[a,count]=fscanf(fid,format,size) —具体的查看帮助。读取的数据在a中,count存储读取数据的个数(count可以省略,也可以写成a=fscanf(fid,format,size)),size为可选项,不写时默认读取整个⽂件。格式有%s, %c, %d, %f等。
count=fprintf(fid, format, a) —具体的查看帮助。a中存放所需写的数据,count返回成功写⼊的个数。
(3) 其他的读写⽅式
读取⼀⾏:fgetl(fid)
3、移动⽂件指针
status=fseek(fid, offset, origin) —具体的查看帮助。Offset表⽰性对移动位置, origin表⽰原位置。
4、⽂件操作的⼀个例⼦
fid = fopen(infile,'r');    %打开⽂件
while ~feof(fid)
str = fgetl(fid);    %读取⼀⾏
%判断⼀⾏的开头是否是数字,是的话才操作
if length(str)>=1 && double(str(1))>=48 && double(str(1))<=57
fprintf(foutfile,'%s\n',str);  %将⼀⾏数据写⼊⽂件
end
end
tempData = importdata(outfile);
%将写⼊到txt⽂件中的数据读取出来,此时格式很好
⼆、Matlab字符⽂件处理
1、txt⽂件读写
importdata(filename)
三、Matlab字符串处理
1、获取字符串长度
length(str)
2、连接字符串
连接连个字符串:每个字符串最右边的空格被裁切,结果是⼀个字符串。
strcat(a,b)。
如:a=”qwe”; b=”a”; c=”etret”; d= strcat(a,b)的结果是:qwea
连接多个字符串:结果是⼀个⼆维字符串数组形式,会将短的字符串后⾯⾃动补空使之长度与最长的字符相同。
strvcat(a,b,c)。
如:a=”qwe”; b=”a”; c=”etret”; d= strvcat(a,b,c)的结果是:
qwe
a
etret
3、字符串替换查
strrep(str,str2,str3)。将str中的str1替换为str2。
strfind(str,str1)。在str中查str1。返回位置数组。
4、字符串转换
数字转换为字符串:num2str()
字符串转换为数字:str2num()
将字符串中的字母转换为⼩写:lower()
将字符串中的字母转换为⼩写:upper()
5、字符串排序
按照字符串的ascii码排序:sort()
四、元组cell和结构struct
1、单元数组(cell array)
其中的每个元素为(cell)。cell可以包含任何类型的matlab数据。
⼀个单元数组中可以包含不同的cell。
(1)创建cell数组
利⽤cell函数,如:cell(2,3)⽣成⼀个2*3的cell数组。或者直接等于⼀个元组,如:c={[1 2 3 4]}。
(2)访问单元数组:两种⽅法
使⽤括号,使⽤花括号。
使⽤括号得到的是那个单元(cell)。使⽤花括号得到的是那个单元的具体内容。
如:b=cell(1); b{1}=[1 2 3 4]。当显⽰b(1)时得到[1x4 double]。⽽使⽤b{1}得到1 2 3 4。
(3)赋值:有了前⾯访问的⽅法即可明⽩,要赋值也有两种⽅法。
使⽤括号时,须将⼀个cell赋给左边。使⽤花括号时可以直接将值赋给左边。
2、结构数组(struct array)
(1)创建结构及结构元组
使⽤struct创建,struct('fieldname1',value1,'field2',value2,....);另外创建结构可以直接如右⽅式:g.a=1;g.b=2创建struct数组:直接使⽤结构⽣成数组即可:[a ]其中a,b,c都是相同的结构。
(2)访问结构元组
使⽤括号访问其中的结构。对于结构的访问使⽤点运算。
(3)赋值
根据前⾯的基础操作,结合点操作与括号操作即可。
典型的应⽤如:⽬录的操作。
files=dir(‘path’); 得到的是⽬录下的⽂件列表,即⼀个struct的数组。n*1的struct数组。
访问时:files(1).name第⼀个⽂件的名字。
五、Matlab⽬录操作
dir(dirname) 读取某个⽬录下的⽂件列表。返回值是⼀个struct的列向量。
所以此处涉及到struct⽅⾯的知识。然后结合字符串处理的知识,即可很好的操作。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。