建模培训(Matlab的使用)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Matlab软件的使用Matlab简介MATLAB是美国MathWorks公司出品的商业数学软件MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境优势特点①高效的数值计算及符号计算功能②具有完备的图形处理功能③友好的用户界面及接近数学表达式的自然化语言④功能丰富的应用工具箱主要内容一、Matlab使用初步二、数据可视化三、数据分析四、方程求解一、Matlab使用初步1、Matlab环境2、Matlab语言3、Matlab矩阵4、Matlab程序设计1、MATLAB环境命令窗口(CommandWindow)输入及运行分号的作用命令窗口常用快捷键快捷键说明方向键↑调出历史命令中的前一个命令方向键↓调出历史命令中的后一个命令Tab键输入命令的前几个字符,然后按Tab键,会弹出前面包含这几个字符的所有命令,方便查找所需命令Ctrl+C中断程序的运行,用于耗时过长程序的紧急中断历史命令窗口(CommandHistory)记录用户在Matlab命令窗口中输入的所有的命令包括每次启动Matlab的时间和运行的所有命令行单击右键,对历史命令进行编辑(剪切/复制/运行/创建m文件/快捷方式/profilecode等)工作空间浏览器(WorkspaceBrowser)运行Matlab的程序或命令所生成的所有变量和Matlab提供的常量构成的空间查询和编辑已定义变量通过右键菜单进行编辑或绘图等相关操作who(whos)、clear、save命令查看、清除、保存工作空间的所有变量程序编辑窗口(Editor)一个内置的具有编辑和调试功能的程序编辑器当前目录窗口(CurrentDirectory)MATLAB搜索路径机制和搜索顺序修改Matlab的搜索路径查看任一路径下的所有文件添加自己的搜索路径MATLAB当前目录Matlab的帮助系统输入帮助命令(help、lookfor、demo)通过“Help”菜单2、Matlab语言变量:字母开头的数字、字母、下划线序列长度不超过63个字符,区分大小写特殊变量与常量列表特殊量意义who,whos查看工作空间的变量clear,cls清除工作空间的变量,clc清空命令窗口的输出ans若没有指定变量名,临时存储结果的默认变量名pi圆周率π(=3.1415926...)inf或Inf无穷大∞值eps浮点运算的相对精度intmax,intmin最大的正浮点数,最小的正浮点数realmax,realmin最大的整数,最小的整数NaN或nan非数,无效的数值i或j虚数单位数据类型MATLAB的数据类型①数值型(整型、单精度型、双精度型、复数类型)②逻辑型③字符型(单引号括起来的一个或多个字符)④函数句柄MATLAB的数据结构①矩阵、数组表现形式相同,用方括号作为界定符运算不同,数组运算针对每个元素②结构体每个域可保存不同维数、不同类型的数据使用点号“.”运算③元胞(单元)数组各单元可保存不同维数、不同类型的数据使用大括号{}基本函数逻辑函数isinteger、isnumeric、isfloat、isreal、ischar、iscell、isstruct、isnan、isinf、isfinite、isprime、all、any数值函数sin、cos、tan、arcsinexp、log2、log10、sqrtabs、real、imag、angleCeil、fix、floor、round、mod、remfactor、factorial、gcd、lcm、primessum、max、min、mean、var、std、sort、prodrand、randl、randint字符函数strcat、strtrim、strcmp、strfindisletter、isspace、ismemberlower、uppereval、feval、sprintf转换函数int2str,num2str,str2num,str2double,char,double运算符(1)算术运算基本运算:+-*/(右除)\(左除)^点运算(数组运算):+-.*./.\.^(2)关系运算运算符:、=、、=、==、~=两个标量比较(直接比较)结果为1或0;两个同维矩阵比较(对应元素比较)结果是0、1矩阵;标量和矩阵比较,结果是0、1矩阵。(3)逻辑运算运算符:&、|、~捷径运算符:&&、||数据输出格式format命令指定数值型数据的输出格式格式说明formatcompact紧凑格式formatloose压缩格式formatshort固定短格式formatlong固定长格式formatrat分式(有理数)格式3、矩阵_生成(1)行向量的生成①直接生成矩阵元素列入方括号中,元素之间用逗号或空格分隔②利用冒号生成行向量格式1:初值:终值生成从初值开始到终值结束增量为1的行向量例:1:100格式2:初值:步长:终值生成从初值开始到终值结束增量为步长的行向量例:0:0.1:2*pi③利用linspace函数生成向量格式:linspace(a,b,n)生成n个元素的行向量,元素在a,b之间平均分布n的默认值为100矩阵_生成(2)矩阵的生成直接生成矩阵元素列入方括号中,元素之间用逗号或空格分隔,行与行之间用分号分开例:[123;4,5,6;78,9]例:[1:3;4,5,6]通过函数zeros、ones、rand、randn分别产生元素全为零、全为1、随机数、正态分布随机数的矩阵通过函数Compan、hilb、magic、pascal分别产生伴随阵、Hilbert阵、魔方阵、Pascal阵通过函数eye产生单位矩阵矩阵_引用(1)矩阵元素的引用①方式1:A(u,v)(其中u,v的取值:向量、标量)A(i,j)、A(i,:)、A(:,j)、A(i,n:end)、A(m1:m2,n1:n2)②方式2:A(n)矩阵是按列优先排列的列向量,A(n)表示序号为n的元素③方式3:A(逻辑数组)A(A10)④方式4:借助find函数find(A):寻找A中非零元素所在位置(下标)A(find(A))、A(find(A10))(2)矩阵元素的修改A(i,j)=新值A(m1:m2,n1:n2)=B注意B的行数与列数与A中相应的块匹配矩阵_操作(1)矩阵的缩维(删除行与列)A(:,n)=[]A(n,:)=[](2)矩阵的扩维A(i,j)=值i(j)的值大于行数(列数)(3)查询矩阵的大小size(A)、length(A)(4)改变矩阵的形状reshape(A,m,n)(5)构造对角阵和三角矩阵diag(A),diag(v),tril(A),triu(A)(6)矩阵的转置、旋转、翻转'、rot90(A)、flipud(A)、fliplr(A)(7)求矩阵的行列式、逆、秩、迹det(A)、inv(A)、rank(A)、trace(A)(8)求矩阵的特征值和特征向量E=eig(A)[V,D]=eig(A)设A为矩阵,V是向量数集_操作数集在MATLAB中表现为元素互斥的向量(1)数集的交、并、余intersect、union、setdiff(2)判断元素是否属于数集ismember(3)去掉数集中重复的元素unique应用举例例1:随机产生由0~9组成的5阶矩阵,将数8全部替换为80.A=floor(10*rand(5));t=find(A==8)A(t)=80等价于A(A==8)=80例2:随机产生20个两位整数,将小于平均值的数输出。t=floor(10+90*rand(1,20));m=mean(t);t(find(tm))例3:随机产生1000个三位整数,求所有偶数的和。t=floor(100+900*rand(1,1000));t1=t(find(rem(t,2)==0));sum(t1)4、Matlab程序设计用Matlab语言编写的可在Matlab中运行的程序,称为M文件。扩展名为.m,可用任何文本编辑器编辑种类:命令文件(脚本文件)、函数文件基本语句input(string)pausepause(n)breakreturndisp条件语句if语句swhich语句switchecasec1语句1casec2语句2otherwise语句endc1,c2的值若有多个用“|”隔开或用大括号括起来。循环语句for—end循环for变量=矩阵循环体end矩阵为向量,将元素依次赋给变量,否则将矩阵每一列赋给变量while—end循环while表达式e语句块end命令文件命令文件是包含一系列MATLAB语句的简单文件它不接受输入参数,输出结果返回在命令窗口变量保存在工作空间中运行方式:命令窗口中输入命令文件的文件名编辑窗口中选中部分内容,通过菜单可运行例1:随机产生20个两位整数,将小于平均值的偶数输出。%ls.mt=floor(10+10*rand(1,20));m=mean(t);t(tm&~rem(t,2))例2:求fibnacci数列,直到相邻两项的和大于1000为止%ffibno.mf=[1,1];i=1;whilef(i)+f(i+1)1000f(i+2)=f(i)+f(i+1);i=i+1;endf,i例3:当n=1000时,求1/4+1/16+…+1/(4^n)的值。方法1s=0;fori=1:1000s=s+1/4^i;enddisp(s);方法2t=1:1000;sum((1/4).^t)方法2属于向量法,较优函数文件函数文件是按照一定格式编写的M文件,也称为永久性函数。使用自已的局部变量,接受输入参数,也能返回输出参数定义function[y1,y2,…]=函数名(n1,n2,…)注释说明部分:%开头函数体:包括进行运算和赋值操作的所有Matlab代码保存:一般以函数名为文件名保存为.m文件调用:输出参数表=函数名(输入参数表)stat([1234])[m,s]=stat([1234])functionf=ffibno(n)%FFIBNO%f=ffibno(n)%2003/5/20f=[1,1];i=1;whilef(i)+f(i+1)nf(i+2)=f(i)+f(i+1);i=i+1;endfunction[mean,stdev]=stat(x)n=length(x);mean=sum(x)/n;stdev=sqrt(sum((x-mean).^2)/n);临时函数临时性函数又包括内联函数和匿名函数。内联函数由inline函数建立,其格式为:f=inline(‘expr’,arg1,arg2,...)例:f1=inline('sin(x)*cos(y)','x','y');y=f1(pi/8,pi/9)匿名函数由@符建立,其格式为:f=@(arg1,arg2,...)[expr]例:f2=@(x,y)sin(x)*cos(y);y=f2(pi/8,pi/9)二、Matlab绘图1、二维图形(常用绘图函数:ezplot、fplot、plot)ezplot、fplot用来绘制已知函数表达式的图形fplot的格式:fplot(fname,lims,tol,选项)fplot('sin(x)',[0,2*pi],'*')fplot('[sin(x),cos(x)]',[0,2*pi,-1.5,1,5],1e-3,'r.')ezplot的格式ezplot(f)、ezplot(f,[min,max])ezplot(f,[xmin,xmax,ymin,ymax])ezplot(x,y)、ezplot(x,y,[tmin,tmax])绘制显函数、隐函数和参数方程所表示函数的图形ezplot('cos(tan(pi*x))')ezplot('x^2+y^2-9

1 / 71
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功