当前位置:   article > 正文

Matlab 学习笔记 (部分内容系转载)_一元三次多项式:f(x)=5x 6x2 2x3作为目标函数(目标曲线采用红色线条表示),然后叠

一元三次多项式:f(x)=5x 6x2 2x3作为目标函数(目标曲线采用红色线条表示),然后叠

由于要参加数学建模比赛的原因,我需要在不到一周的时间内初步地学习Matlab。

因此,我希望把我在学习过程中阅读的资料记录下来,方便跟我一样需要在较短时间内速成Matlab的同学。

基本上我记录的东西都是从网上的资料总结而来。所以这篇文章更偏向是一个资料汇总类的东西。

凡是给过我帮助的资料我都已经列在“参考资料”里,为了美观就不在具体内容里标注引用了,请见谅。

另外,还有部分内容引自《MATLAB在数学建模中的应用》,一并感谢。

我使用的MATLAB版本是r2012a。绝大部分代码我都在本机运行过。由于资源的来源很多,代码风格可能不太一致。


博主最终学了一点点就干别的去了。。数模比赛也悲剧了。。所以此文烂尾了。。不过博主如果以后还要学习matlab,可能会再来更新也说不定。


一、基本操作


Matlab使用的是M语言,是一种解释性语言。
M语言文件的后缀名是.m。Matlab特有的数据存储格式是.mat。
Matlab默认的编程界面是控制行窗口,要新建.m文件可以点击File->New->Script。

常规操作我就不过多解释了。

若要了解某一函数的调用方式,直接在命令行窗口输入“help XXX”即可。


给出一些参考资料:

Matlab操作方法

MATLAB数据类型

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文件中

2、从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,410);   % <span style="font-family:Arial,Helvetica,sans-serif">143143行,410410列的数据</span>


4、读取Excel文件 

使用xlsread、xlswrite函数

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/97106
推荐阅读
相关标签
  

闽ICP备14008679号