第三讲--Matlab的基本函数与代数运算-Matlab语言程序设计-教学课件

上传人:痛*** 文档编号:248481184 上传时间:2024-10-24 格式:PPT 页数:36 大小:2.38MB
返回 下载 相关 举报
第三讲--Matlab的基本函数与代数运算-Matlab语言程序设计-教学课件_第1页
第1页 / 共36页
第三讲--Matlab的基本函数与代数运算-Matlab语言程序设计-教学课件_第2页
第2页 / 共36页
第三讲--Matlab的基本函数与代数运算-Matlab语言程序设计-教学课件_第3页
第3页 / 共36页
点击查看更多>>
资源描述
Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,Click to edit Master title style,第三讲,Matlab,的基本函数与代数运,算,Matlab,的变量和基本函数,一,矩阵的代数运算,二,第三讲,Matlab,的基本函数与代数运算,一、,Matlab,的变量和基本函数,1,、,Matlab,中常用的常量和变量,常量:,ans, eps(,无穷小,) , realmax(,最大实数,) , realmin(,最小实数,), pi(), inf(,无穷大,), NaN(,不确定数,), i , j(,虚数单位,), nargin , nargout(,调用函数时变量数,),。,Matlab,允许的最大数是,2,1024,超过它时,系统将视该数为无穷大。,第三讲,Matlab,的基本函数与代数运算,变量:,变量是,matlab7,的基本元素之一,与其它常规程序设计语言不同的是,matlab7,语言不要求对所使用的变量进行事先说明。,在,matlab7,语言中,变量的命名有如下规则:,1,、变量名长度不超过,31,位;,2,、变量名区分大小写;,3,、变量名必须以字母开头,变量名中可以名字母、数字、或下划线,但不允许出现标点符号。,第三讲,Matlab,的基本函数与代数运算,2,、,Matlab,的基本函数,round( x ),求最接近,x,的整数。如果,x,是一个向量,则适用于所有元素。,fix( x ),求,0,方向最接近,x,的整数,floor( x ),求小于或等于,x,的最接近的整数。,ceil( x ),求大于或等于,x,的最接近的整数。,rem(x, y),求整除,x/y,的余数。,gcd(x, y),求整数,x,和,y,的最大公因子。,lcm( x,,,y ),求正整数,x,和,y,的最小公倍数,也能用于决定最小公因子。,t,,,n=rat( x ),由有理数,t / n,求,x,的近似值,这里的,t,和,n,是整数,相对误差小于,1e,6,。,rat( x ),求,x,的连续的分数表达式。,第三讲,Matlab,的基本函数与代数运算,sin( x ),求正弦,x,,,x,为弧度。,cos( x ),求余弦,x,,,x,为弧度。,tan( x ),求正切,x,,,x,为弧度。,cot( x ),求余切,x,,即,1/(tanx),,,x,为弧度。,asin( x ),求反正弦。,acos( x ),求反余弦。,atan( x ),求反正切。,acot(x),求反余切。,sec( x ),求正割,x,,即,1 / (cosx),。,csc( x ),求余割,x,,即,1 / (sinx),。,asec( x ),求,asecx= arccos(1/x),。,acsc( x ),求,acscx= arcsin(1/x),第三讲,Matlab,的基本函数与代数运算,sinh( x ),求双曲正弦,x,。,cosh( x ),求双曲余弦,x,。,tanh( x ),求双曲正切,x,coth( x ),求双曲余切,x,,即,1/(tanhx),。,asinh( x ),求,acosh( x ),求,atanh( x ),求,acoth( x ),求,sech( x ),求双曲正割,x,,即,1/(coshx),。,csch( x ),求双曲余割,x,,即,1/(sinhx),。,asech( x ),求,acsch( x ),求,第三讲,Matlab,的基本函数与代数运算,有关于复变函数的一些函数:,real( z ),求,z,的实部。,imag( z ),求,z,的虚部。,abs( z ),求,z,的绝对值,即,|z|,。,conj( z ),求,z,的复数共扼。,angle( z ),求,z,的相角。,第三讲,Matlab,的基本函数与代数运算,A,返回一个与,A,相同维数的矩阵。在这个矩阵中,,A,是零时,则对应项为,1,;,A,是非零时,则对应项为,0,。,xor(A, B),返回一个与,A,和,B,相同维数的矩阵。在这个矩阵中,如果,A,和,B,均为零或均为非零时,则对应项为,0,;如果,A,或,B,是非零但不是两者同时为非零时,则对应项为,1,。,在此过程中的,x,和,y,可以都是矩阵或向量,也可以有一个是标量。要求它们的大小完全相同。,第三讲,Matlab,的基本函数与代数运算,例:,x=9 0 8 2;,y=8 3 8 0;,z=x&y,例:,x=8 5 0;,y=2;,z=xor(x,y),exno31,exno32,第三讲,Matlab,的基本函数与代数运算,例:关系操作符的运用。,解:下面给出几个示例。,在“命令”窗口中输入如下命令,并按,Enter,键确认。,A=linspace(1,10,10),B=linspace(10,1,10),lj=AB %,比较,A,和,B,lj1=A=6 %,比较,A,和,6,lj2=A=B %,比较,A,和,B,是否有相等的元素,exno33,第三讲,Matlab,的基本函数与代数运算,逻辑函数,a n y ( x ),如果,x,中的有一个元素为非零值,那么返回,1,;否则,返回,0,。,a n y ( A ),对,A,进行列运算,根据相应列是否包含非零元素,返回一个带,1,和,0,的行向量。,a l l ( x ),如果所有的元素都是非零值,返回,1,;否则,返回,0,。,a l l ( A ),对,A,进行列操作,根据相应列是否所有元素都为非零值,返回带,1,和,0,的一个行向量。,例如:,x=1 2 3 4;y=0 1 -1 0;,any(x) any(y),all(x) all(y),exno34,第三讲,Matlab,的基本函数与代数运算,isnan ( A ),返回一个维数与,A,相同的矩阵,在这个矩阵中,对应,A,中有,N a N,处为,1,,其他地方为,0,。,isinf ( A ),返回一个维数与,A,相同的矩阵,在这个矩阵中,对应,A,中有,i n f,处为,1,,其他地方为,0,。,isempty ( A ),如果,A,是一个空矩阵,返回,1,;否则返回,0,。,第三讲,Matlab,的基本函数与代数运算,下面以,NaNs,和,isnan,为例进行说明:,在逻辑或关系表达式里,对,NaNs,的几乎所有运算结果都得出,NaNs,。,例:对,NaNs,的逻辑或关系处理。,在“命令”窗口中输入如下命令,并按,Enter,键确认。,x=10 2 nan inf,y=2*x,z=y+2,w=(z=nan),t=(z=nan),第三讲,Matlab,的基本函数与代数运算,x=10 2 nan inf,y=20 4 NaN Inf,z=22 6 NaN Inf,w=0 0 0 0,t=1 1 1 1,X,和,y,对,NaN,输入给出,NaN,结果,当,NaN,与,NaN,相比较时,,(z=nan),产生全部为,0,的结果,同时,(z=nan),产生全部,1,的结果。且单个,NaNs,相互不等。,由于,NaNs,的这种特性,内置逻辑函数,isnan,寻找,NaNs,。,g=isnan(z),g1=isnan(y),用,find,函数能找出,NaNs,的下标值。,i=find(isnan(x),第三讲,Matlab,的基本函数与代数运算,运算符优先级,MATLAB,在执行含有关系运算和逻辑运算的数学运算时,同样遵循一套优先级原则。,MATLAB,首先执行具有较高优先级的运算,然后执行具有较低优先级的运算;如果两个运算的优先级相同,则按从左到右的顺序执行。,MALTAB,中各运算符的优先级顺序如表所示,表中按照优先级从高到低的顺序排列各运算符。,第三讲,Matlab,的基本函数与代数运算,符号,意义,符号,意义,符号,意义,+,加,-,减,*,矩阵乘,矩阵左除,/,矩阵右除,矩阵乘幂,.*,矩阵元素乘,./,矩阵元素除,.,矩阵元素乘幂,( ),优先,下标输入参量,矩阵,向量输入变量,:,整行(列)等增量赋值,.,小数点,.,母目录,行命令延续符,语句分割符,显示,;,语句分割符,不显示,=,赋值符,转置,引用,!,操作系统命令,%,注释符,=,关系相等符,关系大小符,=,关系不等符,&,逻辑与,|,逻辑或,逻辑非,xor,异或,kron,Kronecker,积,数,学,及,逻,辑,运,算,符,号,第三讲,Matlab,的基本函数与代数运算,第三讲,Matlab,的基本函数与代数运算,二、矩阵的代数运算,矩阵的基本运算,矩阵的运算包括“,+,,,-,,*,,/,,,,,,,;,.* , ./ , . , . , ,等。,+,,,-,运算可以矩阵与常数运算。,* 为矩阵乘积。,/,,,为右除与左除。,./ , . , .* , .,等均为按位运算。,第三讲,Matlab,的基本函数与代数运算,1.,加法和减法,如果矩阵,A,和,B,具有相同的维数,那么就可以定义两个矩阵的和,A+B,和两个矩阵的差,A,B,。,矩阵,AB,,即对应元素运算。在,M AT L A B,中,一个,m,n,矩阵,A,和一个标量,即一个,11,矩阵,s,之间也能进行加和减运算。矩阵,A+,s,与,A,有相同的维数,且元素为,A,的每个元素加,s,。,第三讲,Matlab,的基本函数与代数运算,2,乘法,如果矩阵,A,的列数等于矩阵,B,的行数,那么矩阵相乘,即,C = A B,,就被定义为二维矩阵。如果不是这种情况,,M AT L A B,就返回一个错误信息。只有一个例外就是这两个矩阵之一是,11,,即一个标量,那么,M AT L A B,是可以接受的。在,M AT L A B,中,乘法的运算符是*,因此,命令是,C = A*B,。元素,ci j,是,A,的第,i,行和,B,的第,j,列的点积。矩阵,C,有与,A,相同的行数和与,B,相同的列数,第三讲,Matlab,的基本函数与代数运算,例:计算向量,x=11 22 33 44,与向量,y=,1 2 3 4,的点积。,x=11 22 33 44;,Y=1 2 3 4,a=dot(x,y),sum(x.*y) %,还可以采用,sum,方法计算向量的点积,exno35,第三讲,Matlab,的基本函数与代数运算,对于各具三个元素的两个向量,x,和,y,,命令,cross(x, y),给出向量积或叉积。,cross(x, y),得到向量,x,和,y,的叉积。,cross(A, B),得到一个,3,n,矩阵,其中的列是,A,和,B,对应列的叉积。矩阵,A,和,B,必须具有相同的维数,3,n,。,例:计算相关向量的叉积。,x=11 22 33 44,y=1 2 3 4,b=cross(x,y),x=11 22 33,y=1 2 3,b=cross(x,y),exno36,第三讲,Matlab,的基本函数与代数运算,如果,A,是一个方阵,那么,X = A B,是矩阵方程,A X=B,的解,inv(A)B,,这里的,X,具有与,B,相同的维数。在,B=b,是一个列向量这样一个特殊情况下,,x = A b,是线性系统,A X=b,的解。,如果,A,是一个,m,n,的,m,n,矩阵,,X = A B,得到矩阵方程,A X=B,的最小二乘解。,矩阵方程,X A=B,的解是,X=B / A,,它等同于,( A B),即右除可以由左除定义。这里,撇号,表示转置。,第三讲,Matlab,的基本函数与代数运算,4.,转置和共轭,一个重要的运算是转置和共轭转置,它在,MATLAB,中用撇,表示。,如果,A,是一个实数,那么它被转置时,第,1,行变成第,1,列,第,2,行变成第,2,列,依此类推,一个,m,n,矩阵变为一个,n,m,矩阵。,如果仅希望转置,在撇号之前输入一点,.,,,A.,表示转置。,第三讲,Matlab,的基本函数与代数运算,5.,按位操作运算,.,按位运算也可以元素与元素逐次进行。矩阵的维数要相同,可以是多维的。如果运算是由一点进行的,那么这个运算实行的是元素方式。对于加法和减法,数组运算和矩阵运算没有差别。运算符是:,+,.* ./ . .,第三讲,Matlab,的基本函数与代数运算,已知,求:,A=1 2;3 4;,B=2 3;4 5;,A.*B,Ans=,2 6,12 20,A./B,Ans=,0.5000 0.6667,0.7500 0.8000,A. 2,Ans=,1 4,9 16,A.B,Ans=,2.0000 1.5000,1.3333 1.2500,第三讲,Matlab,的基本函数与代数运算,6.,矩阵的乘方,对于二维方阵,,A,的,p,次乘方可以用,A ,p,实现。如果,p,是一个正整数,那么这个幂可以由许多矩阵乘法运算定义。对于,p,= 0,,得到与,A,维数相同的单位矩阵;当,p, mtimes,Inner matrix dimensions must agree,c=x.*y,c =,20 2 15 42 72,d=x./y,d =,1.2500 0.5000 0.6000 1.1667 0.8889,例:,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!