赞
踩
由于要参加数学建模比赛的原因,我需要在不到一周的时间内初步地学习Matlab。
因此,我希望把我在学习过程中阅读的资料记录下来,方便跟我一样需要在较短时间内速成Matlab的同学。
基本上我记录的东西都是从网上的资料总结而来。所以这篇文章更偏向是一个资料汇总类的东西。
凡是给过我帮助的资料我都已经列在“参考资料”里,为了美观就不在具体内容里标注引用了,请见谅。
另外,还有部分内容引自《MATLAB在数学建模中的应用》,一并感谢。
我使用的MATLAB版本是r2012a。绝大部分代码我都在本机运行过。由于资源的来源很多,代码风格可能不太一致。
博主最终学了一点点就干别的去了。。数模比赛也悲剧了。。所以此文烂尾了。。不过博主如果以后还要学习matlab,可能会再来更新也说不定。
一、基本操作
常规操作我就不过多解释了。
若要了解某一函数的调用方式,直接在命令行窗口输入“help XXX”即可。
给出一些参考资料:
《 matlab中数组元素引用》
二、数据交互
1、从纯数据txt文件中读取数据
使用简单粗暴的LOAD/SAVE函数。
LOAD可以读MAT-file data或者用空格间隔的格式相似的ASCII data。SAVE可以将MATLAB变量写入MAT-file格式或者空格间隔的ASCII data。
eg:
M = load('test.txt') % 从input.txt中读一个矩阵M。
M = M + 5 % 把M的每个元素加上5
save output M % 把M保存在output.mat文件中
save output.txt M -ascii % 把M以ASCII形式保存在output.txt文件中
使用TEXTREAD/STRREAD函数
[A,B,C,…] = textread(filename,format,N)
其中括号里面变量的个数必须和format中定义的个数相同。 如果每N行相同格式的数据,可采用[A,B,C,…] = textread(filename,format,N)的语法,读取N次。
textread不用先fopen那个文件,适用于格式统一的txt文件的一次性大批量读取。textread读取某个文件后,下次再用textread读取这个文件时,还是会从文件头开始读取。
eg:
[data1,data2,data3,data4,data5] = textread('output.txt','%f %f %f %f %s',150,'delimiter',','); % 以','为分隔符
[data1,data2,data3,data4] = textread('output.txt','%n %n %n %n','delimiter', ',','headerlines', 5); % 跳过开头的5行
[data1,data2,data3,data4] = textread('output.txt' , '%s %s %*f %d %s', 1) % ‘*f ’告诉textread跳过一个浮点数。
[data] = textread('output.txt','%s %*[^\n]'); % [^\n] 就是一直读到行尾,%*[^\n] 是一直跳到行尾。可用于只读取第一列
[data1,data2,data3,data4] = textread('output.txt','%s test %d %f %d %s', 1) % 忽略‘test’,只读取后面的数字
3、从txt文件中读取特定区域的数据:
下面这个函数是取filein中的第line行写入fileout中的程序:
function dataout=dataread(filein,fileout,line)
fidin=fopen(filein,'r');
fidout=fopen(fileout,'w');
nline=0;
while ~feof(fidin) % 判断是否为文件末尾
tline=fgetl(fidin); % 从文件读行
nline=nline+1;
if nline==line
fprintf(fidout,'%s\n',tline);
dataout=tline;
end
end
fclose(fidin);
fclose(fidout);
调用格式:dataout=dataread(filein,fileout,line)
如果txt文件数据是矩阵形式的,而没有其它的文字,用下面的程序就可以读任意行任意列的数据
a=textread('ll.txt');
t=a(1:43,4:10); % <span style="font-family:Arial,Helvetica,sans-serif">1:43是1到43行,4:10是4到10列的数据</span>
4、读取Excel文件
使用xlsread、xlswrite函数
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。