学习matlab(Matlab基础知识)

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

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

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

资源描述

第二讲Matlab基础知识1.标识符把标志变量、常量或文件名的特定字符称为标识符,Matlab规定必须是英文字母、阿拉伯数字和下划线等符号组成的字符串,第一个符号必须是英文字母。2.Matlab中的数据及变量类型有三种类型的基本数据:(1)数值型数据,简称数值(DoubleArray):一般输入的数字均为数值数据,包含实数、复数。(2)字符串型数据,简称字符量(CharArray):用英文格式单引号加以界定的数字、字符、各种符号、表达式、方程式和汉字等。(3)符号型数据,简称符号量(SymObject):用sym和syms可以把字符、表达式、方程、矩阵等定义成数学符号,称为符号型数据,运算结果为数学表达式。在命令窗口中键入class(a),回车可知已有变量a是哪一种类型的数据。3.变量名及赋值(略)2.1数值矩阵2.1.1永久性数值变量名除了i、j、pi、eps(浮点运算相对精度10-52)、Inf、NaN外还有,realmin(最小正浮点数2-1022)、realmax(最大正浮点数21023)。2.1.2数值矩阵的创建1.直接输入法a=[161;462;938];b=[2-3i,3+5i,2i;3,9i,6;5-i,7i,4];2.创建特殊数值矩阵的命令输入法命令格式功能命令格式功能zeros(n)输出n阶全零方阵rand(n)输出n阶均匀分布的随机方阵zeros(m,n)输出m×n全零矩阵rand(m,n)输出m×n阶均匀分布的随机矩阵ones(n)输出n阶全1方阵randn(n)输出n阶正态分布的随机方阵ones(m,n)输出m×n全1矩阵randn(m,n)输出m×n阶正态分布的随机矩阵eye(n)输出n阶单位方阵,n=1时可省略magic(n)输出n阶魔方阵(各行各列及主对角线元素和均为3()/2nndiag(a,k)输出矩阵a主对角线右移k列时其元素构成的列向量。k=0时可省略tril(a)truilu(a)输出矩阵a的主对角线下(上)方元素构成的下(上)三角矩阵。3.变换矩阵结构的命令flipud(a)——输出矩阵a上下翻转后的矩阵;fliplr(a)——输出矩阵a左右翻转后的矩阵;rot90(a,k)——输出矩阵a沿逆时针旋转k个90度后的矩阵,k为正负整数;rot90(a)——输出矩阵a逆时针旋转90度后的矩阵;reshape(A,m,n)——输出一个m×n=k阶矩阵,它是由矩阵a的k个元素重新排列构成的矩阵,重排前后元素在矩阵中的符号不变。4.一批特殊向量(行矩阵)的创建(1)等差数列型向量的创建增量输入法:t=a:h:b或t=[a:h:b],t=(a:h:b),a、b为起始值,h为公差,可正,可负,省略时为1.例如t=0:0.1:2*pi线性等分命令t=linspace(a,b,n),a、b为起始值,n为(b-a)的等分点个数。例x=linspace(2,2*pi,6)(2)等比数列型向量的创建调用格式为:q=logspace(log10(a),log10(b),n)或q=logspace(as,bf,n),a、b分别为等比数列的初值和终值,n为等比数列划分时的节点数。例q=logspace(0,1,6)2.1.3数值矩阵的矩阵算法矩阵算法——按照(线性代数)矩阵理论来运算。数组算法——把矩阵视为由其元素构成的数据(数组),运算时在参与运算的矩阵的元素之间进行的数与数的运算,如通常的“.*”运算。便于对大批数据的处理。1.数值矩阵维数的查验和矩阵的转置查验矩阵维数命令:size(a)或size(a,r),r取1输出矩阵的行数;取2输出矩阵的列数。例b=[3701;7915];size(b)转置为:c=b'2.矩阵算法中的矩阵加、减和乘法运算普通的矩阵算法。注意:na,a为矩阵,n为整数。当n0时,表示n个a相乘;当n0时,表示n个a相乘的逆。矩阵a与常数d的和定义为a+d=a+d*ones(size(a))。3.数值矩阵的求逆及矩阵算法中的除法(1)求逆命令矩阵a、b满足ab=ba=e(单位矩阵),格式b=inv(a)(2)求矩阵的伪逆矩阵对矩阵b(可以是奇异或长方),同时满足xbx=b和bxb=x的矩阵x称为b的伪逆矩阵,格式x=pinv(b)(3)左除解矩阵方程ax=b可得x=a-1b,格式x=inv(a)*b或x=a\b或mldivide(a,b)(4)右除解矩阵方程xa=b可得x=ba-1,格式x=b*inv(a)或x=b/a或mrdivide(b,a)4.矩阵函数设a为方阵。expm(z)——211!2!aaaelogma(a)——lnasqrtm(a)——矩阵a的平方根funm(a,@f)——矩阵a的任意函数f(a)2.1.4数值矩阵的数组算法1.查验向量维数命令length(a),a为向量输出维数;a为列阵(行阵)时,输出列(行)数;a为长方形矩阵时,输出行和列数。2.数值矩阵间数组算法的四则运算a.*b——a与b的对应元素相乘a.^n——a中每个元素的n次方a./s,s.\a——a中各元素被s除a./b,b.\a——a中各元素除以b中对应元素s./a,a.\s——s被a中各元素除。3.数组算法中的基本初等函数运算函数命令数学意义函数命令数学意义函数命令数学意义sin(x)sinxround四舍五入angle(x)x的幅角asin(x)arcsinxfix输出靠零的整数pow2(x)2xcos(x)cosxfloor输出靠向的整数max(x)各列元素中最大值sec(x)secxceil输出靠向的整数mean(x)各列元素之平均值tan(x)tanxatan(x)arctanxsum(x)各列元素之和cot(x)cotxexp(x)exrem(x1,x2)或mod(x1,x2)矩阵x1除以x2元素的余数sinh(x)双曲正弦log(x)lnxcosh(x)双曲余弦log2(x)long2xmedian(x)各列元素的中间值real(x)x的实部log10(x)lgxprod(m:n)m(m+1)…(n-1),m1imga(x)x的虚部sqrt(x)xpactorial(x)x!,x为非负整数矩阵,这时输出个元素阶乘sign(x)符号函数abs(x)x的绝对值5.向量的点积和叉积点积:dot(a,b)叉积:cross(a,b)2.2字符串和符号矩阵2.2.1字符串变量和函数求值字符串在数据处理、造表和函数求值运算中非常有用。用单引号界定的排成的各种符号,包括数字、英文、汉字、横线、括号及表达式、方程式等。例如a='Iamasutdent'字符串的输出显示命令disp(zs),输入参数zs可以是数值变量、字符串变量和被界定的字符串,但每一次只能有一个内容,各变量之间用空格分开。空格也可以用字符命令blanks(n)控制。a='sint';b='exp(t)';c='lnt';t=[0.1:0.2:pi/4]';d='tsintexp(t)lnt';disp(d),disp([tsin(t)exp(t)log(t)])格式化数据显示命令为了使输出的数据按规定格式(表示方式、小数点位数等)显示,常用命令sprintf('Z',S1,S2)输入参数的第一部分‘Z’由两部分组成(这两部分可以交错混合排列);控制的第二部分数据显示S1、S2显示形式的“格式”,格式符及其意义如下表,两个格式符空格的大小就是数据显示时的间距。格式显示格式格式符显示格式%e指数格式%g自动选择指数%f小数格式%m.nf数据共占m个字符宽度,显示n位小数%d十进制整数格式\n换行符【例2-17】分两行输出自然数e,ln5和最小浮点数eps的符号(即表头)和数值。a=[exp(1)log(5)eps];b=sprintf('eln5eps\n%9.3f;%f;%e;',a)2自定义函数求值可以用数值或符号变量表达式、内联函数命令、自己编写的M-函数文件等多种方法自定义函数、然后进行函数的求值运算。(1)用数值变量表达式自定义函数。四则运算中必须用数组符号算法符号,否则称为矩阵函数;表达式使用时“一次性”的,再使用需要重新输入;输入表达式前必须先给数值变量赋值。(2)用字符变量表达式定义函数把函数表达式定义成字符串表达式(自定义函数),给字符串赋值以后,通过数值转换命令eval将字符串转换为数值,从而得出函数值。表达式两端必须加单引号界定,使之被定义为字符串表达式。(3)用内联函数命令自定义函数内联函数命令为fun1_1=inline(字符串表达式)【例2-48】已知329653A,用三种方法求32()sinaijijyfaaae。数值变量法:A=[32*pi9;653*pi];f1=A.^3+sin(A).^2+exp(-A)字符变量函数法:fx1='A.^3+sin(A).^2+exp(-A)';A=[32*pi9;653*pi];;fx1_A=eval(fx1)内联函数法:fx2=inline('A.^3+sin(A).^2+exp(-A)');A=[32*pi9;653*pi];;fx2(A)2.2.2符号变量(略)2.2.3符号矩阵的创建方法Y=sym('[a5*b+1;c-sin(a)b+3]')2.2.4符号矩阵的运算符号矩阵的加法、乘法、点乘法:X=sym('[a/b,sin(a);b^4,8]');Y=sym('[3/a,cos(b);b^3,3]');X+Y,X*Y,X.*Y符号矩阵的求逆运算:inv(X)对矩阵2225621xxxxxx各元素进行因式分解:A=sym('[x/(x^2-5*x-6),2*x/(x^2-2*x+1)]');factor(A)将符号矩阵3cos()sin()(1)xyxyxyex的各元素展开:A=sym('[cos(x-y),sin(x+y);exp(x-y),(x-1)^3]');expand(A)同次幂系数合并:symsxy,collect(x^2*y+x*y-2*x^2-3*x)求极限:格式,limit(F,x,a,’right’或’left’),right,left表左右极限,缺省时表极限。symsxma,limit((x^(1/m)-a^(1/m))/(x-a),x,a)求导数命令,格式:diff(S,’v’,n),S为函数,v为求导的指定自变量,n为求导阶数。【例2-29】已知二元函数sin()(,)xyzxyxye,求zx、zy默认变量x:symsxy,z=x*y*exp(sin(pi*x*y));diff(z)指定变量y:diff(z,'y')泰勒展开式:symsx,taylor(exp(2*x))2.3基本绘图方法Matlab提供了丰富的绘图功能,在绘图时,每个图形元素(如坐标轴或图形上的曲线、文字等)都是一独立的对象,被分配给一个句柄(handle),用户只需对该句柄进行操作就可以独立地修改一个图形元素,而不影响图形的其他部分。2.3.1二维图形函数与调用方法常用的绘图函数plot——绘制二维图形,x轴和y轴为线性坐标semilogx——绘制二维图形,x轴为对数坐标,y轴为线性坐标semilogy——绘制二维图形,x轴为线性坐标,y轴为对数坐标loglog——绘制二维图形,x轴和y轴均为对数坐标plotyy——绘制二维图形,在图形的左右各有一个y轴polar——绘制极坐标曲线grid——在图形窗口添加网(gridon)或去掉网(gridoff)zoom——允许(zoomon)或不允许(zoomoff)对图形进行放大缩小操作ginput——用鼠标获取图形中点的坐标patch——填充二维或三维坐标中的二维图形fill——填充二维坐标中的二维图形1.基本二维图形Plot(X,Y,’S’)X为横坐标,Y为纵坐标,S是修饰曲线的标记符,包含标

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

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

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

×
保存成功