《数学建模竞赛培训课程.pptx》由会员分享,可在线阅读,更多相关《数学建模竞赛培训课程.pptx(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、MATLAB工作界面命令窗口 工作空间 历史命令 当前路径 第1页/共32页MATLAB编辑窗口设置断点取消断点单步运行进入函数跳出函数退出调试继续运行第2页/共32页MATLAB常用快捷键 回调上一行命令 回调下一行命令 左移一个字符 右移一个字符Delet Backspace 删除字符Ctrl+C 中断MATLAB任务第3页/共32页常用命令help 帮助clear clc 清除What who,whos 变量的信息查询load save第4页/共32页MATALB语言的数据结构变量命名规则必须以字母开头;可以由字母、数字和下划线混合组成;变量长度应不大于65个;字母区分大小写。变量的定义
2、特殊变量第5页/共32页特殊变量变量名称功能变量名称功能ans用于结果的缺省变量值pi圆周率realmax最大浮点数值realmin最小浮点数值i虚数单位j虚数单位inf正无穷大NaN不定式(0/0,inf/inf)eps机器浮点运算误差限nargin函数的输入变量数目第6页/共32页基本语句MATLAB语言的基本语句结构为:变量名列表=表达式 等号左边的变量名列表为MATLAB语句的返回值,若一次返回多个结果,则变量列表用 括起来,各变量间用逗号分隔;等号右边为表达式,可以是矩阵运算或函数调用,可以由分号(;)、逗号(,)或回车结束。第7页/共32页数据类型在MATLAB里共有六种数据类型,
3、每一种类型可以是一维、二维和多维的。双精度型(double)字符型(char)稀疏型(sparse)存储型(storage)细胞型(cell)结构型(struct)第8页/共32页字符型基本规则:所有字符串都用单引号括起来;字符串中的每一个字符都是该字符串 变量中的一个元素;字符串中的字符以ASC码形式存储,因而区分大小写。第9页/共32页字符串:用单撇号括起来的字符序列 MATLAB将字符串当作一个行向量,每个元素对应一个字符,其标识方法和数值向量相同。也可以建立多行字符串矩阵。字符串存储形式:ASCII码abs和double函数:获取字符串矩阵所对应的ASCII码数值矩阵。char函数:把
4、ASCII码矩阵转换为字符串矩阵。第10页/共32页字符型常用操作方法:建立:常用函数有char、int2str、num2str等。连接:水平连接通过函数strcat或在中括号内用逗号连接;垂直连接通过函数strvcat或在中括号内用分号连接。比较:常用函数strcmp,相同则返回1,否则为0。查找:常用函数findstr。第11页/共32页lstrcat(S1,S2,)-连接字符串lstrvcat(S1,S2,)-垂直连接字符串lstrcmp(S1,S2)-比较字符串lstrcmpi(S1,S2)-比较字符串,不区分大小写lstrncmp(S1,S2,N)-比较前N个字符lstrncmp(S
5、1,S2,N)-比较前N个字符,不区分大小写lfindstr(S1,S2)寻找较短字符在较长字符串中的位置索引lupper 将字符串转换成大写llower 将字符串转换成小写lsprintf 将数据格式化成字符串lnum2str(x)或num2str(x,n)将数值转换成字符串,n表示精度 lint2str 将整数转换成字符串lstr2num 将字符串矩阵转换成数值矩阵 lstr2double 将字符串矩阵转换成双精度数v 字符串函数第12页/共32页结构型结构的建立和访问方法:直接建立结构和各个域,同时给各域赋值,结构和域之间用点“”连接。同样,访问结构的各个域时,其格式为:结构名域名用函数
6、struct建立结构,其用法为:s=struct(field1,values1,field2,values2,)第13页/共32页矩阵的MATLAB表示直接输入 A=1 2,3;4 5 6;7,8 9冒号操作符 a=0:1:10 a=linspace(0,1,10)a=logspace(1,2,10)第14页/共32页MATLAB下矩阵的运算矩阵的代数运算转置 B=A加减乘 A+B A-B A*B左除 AB 即AX=B的解X=A-1B右除 A/B 即XB=A的解X=AB-1翻转 fliplr flipud rot90乘方 AB点运算 A.*B A./B A.B A.B A.函数第15页/共32
7、页矩阵的逻辑运算运算符&(与)|(或)(非)结果是一个0-1矩阵。当逻辑表达式的值为真时,赋值1,否则为0 逻辑函数all:当某列的元素都为真时,返回值为1,否则返回0。最终运算结果为一个0-1行向量any:当向量中至少有一个元素为真时,返回值为1,否则返回0。最终运算结果为一个0-1行向量 find:用于查找向量中的真元素的下标,返回由所有真元素下标构成的列向量。第16页/共32页矩阵的比较关系在MATLAB里共有六个关系运算符 大于 =大于等于 =等于 =不等于关系运算符将生成一个0-1矩阵,当运算数相应元素为真时,对应位置上生成1,否则为0。第17页/共32页矩阵元素的数据变换floor
8、(A)向取整 ceil(A)向取整 round(A)四舍五入取整fix(A)按离0近的方向取整第18页/共32页下标操作矩阵下标(按列优先排列)用两个下标来表示。第i行j列的元素用A(i,j)来表示用一个下标来表示。对于矩阵按列操作,可用单下标引用A(i)。在下标的表达式中使用冒号表示矩阵的一部分。下标引用从序号1开始。第19页/共32页下标操作 A=1 2 3 4 5 6 7 8 9A(4)+A(8)第20页/共32页行列删除B=1 2 3;4 5 6;7 8 9;B(2,:)=B=1 2 3 7 8 9第21页/共32页矩阵的尺寸 为了判断矩阵的尺寸,Matlab提供了以下函数:m,n=s
9、ize(A)%返回矩阵的行数m和列数nM=size(A)%在矩阵M中返回矩阵的行数、列数len=length(A)%返回矩阵A行数和列数中的最大值第22页/共32页特殊矩阵单位矩阵eye(n)%生成n维单位阵eye(m,n)%生成mn的单位阵eye(m,n)%生成mn的单位阵eye(size(A)%生成与A矩阵同样大小 的单位矩阵第23页/共32页特殊矩阵全1矩阵 ones(n)ones(m,n)ones(m,n)ones(size(A)全零矩阵 zeros(n)zeros(m,n)zeros(m,n)zeros(size(A)随机数矩阵 rand(n)rand(m,n)rand(m,n)ra
10、nd(size(A)生成的随机矩阵的各 个元素值在0和1之间。对角阵 diag(n)对角阵魔方矩阵 magic(n)魔方矩阵的所有行元素和 列元素和、对角线元素和均相等第24页/共32页lzeros:产生全0矩阵(零矩阵)lones:产生全1矩阵(幺矩阵)leye:产生单位矩阵lrand:产生01间均匀分布的随机矩阵lrandn:产生均值为0,方差为1的标准正态分布随机数矩阵lA(h,k):引用矩阵第h行k列的元素reshape(A,m,n):它在矩阵总元素保持不变的前提下,将矩阵A重新排成mn的二维矩阵。v基本矩阵操作第25页/共32页lcond:计算矩阵的条件数lnorm:计算矩阵或者向量
11、的范数lrank:计算矩阵的秩ldet:计算矩阵的行列式ltrace:计算矩阵的迹ls,u=eig(A):求特征向量和特征值lpoly:求特征多项式(对应compan:多项式的伴随矩阵)l和/:线性方程求解linv:矩阵求逆lpinv:矩阵伪逆矩阵分析函数第26页/共32页浮点数的规范表示:d.dd.d e,(0 d i )其中 d.dd.d 即尾数,为基数,e 为指数。尾数中数字的个数称为精度,在本文中用 p 来表示。每个数字 d 介于 0 和基数之间,包括 0。小数点左侧的数字不为 0。绝大多数现代的计算机系统采纳了所谓的浮点数表达方式。这种表达方式利用科学计数法来表达实数,即用一个尾数(
12、Mantissa),一个基数(Base),一个指数(Exponent)以及一个表示正负的符号来表达实数。例:123.45 用十进制科学计数法可以表达为 1.2345 102 其中 1.2345 为尾数,10 为基数,2 为指数。浮点数利用指数达到了浮动小数点的效果,从而可以灵活地表达更大范围的实数。提示:尾数有时也称为有效数字(Significand)。尾数实际上是有效数字的非正式说法。第27页/共32页数据的输出格式l十进制数表示常数。l一般情况下数据元素用双精度数来表示和存,l采用日常记数法和科学记数法两种表示方法。l数据输出格式设置:format 格式符 format short 5位定
13、点表示(默认值)format long 15位定点表示 format short e 5位浮点表示 format long e 15位浮点表示 format short g 在5位浮点与5位定点表示中选择最好的格式表示 format long g 在15位浮点与15位定点表示中选择最好的格式表示 format rat 对整数的近似表示近整数第28页/共32页le1:e2:e3其中e1为初始值,e2为步长,e3为终止值llinspace(a,b,n)a和b是生成向量的第一个和最后一个元素,n是元素总数。显然,linspace(a,b,n)与a:(b-a)/(n-1):b等价。v建立向量第29页/共32页例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)此外,常用的函数还有第30页/共32页lfliplr:左右翻转lflipup:上下翻转ldiag(A,k):产生或提取对角阵ltriu(A,k):提取上三角阵ltril(A,k):提取下三角阵lrot90(A,k):矩阵逆时针旋转90度v矩阵操作第31页/共32页感谢您的观看。第32页/共32页
限制150内