MATLAB中的矩阵运算函数.doc

MATLAB中的矩阵运算函数.doc

ID:55923996

大小:26.90 KB

页数:4页

时间:2020-06-15

上传者:U-140596
MATLAB中的矩阵运算函数.doc_第1页
MATLAB中的矩阵运算函数.doc_第2页
MATLAB中的矩阵运算函数.doc_第3页
MATLAB中的矩阵运算函数.doc_第4页
资源描述:

《MATLAB中的矩阵运算函数.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1,round函数函数简介  调用格式:Y= round(X)在matlab中round也是一个四舍五入函数。对数组A中每个元素朝最近的方向取整数部分,并返回与A同维的整数数组B,对于一个复数参量A,则分别对其实部和虚数朝最近的方向取整数部分,并返回一复数数据B。(1)fix(x):截尾取整.>>fix([3.12-3.12])ans=3   -3(2)floor(x):不超过x的最大整数.(高斯取整)>>floor([3.12-3.12])ans=3   -4(3)ceil(x):大于x的最小整数>>ceil([3.12-3.12])ans=4   -3(4)四舍五入取整>> round(3.12-3.12)ans=0>> round([3.12-3.12])ans=3   -32,reshape函数:重新调整矩阵的行数、列数、维数先给上一段代码:>> a=[123;456;789;101112];>> b=reshape(a,2,6);这段代码的结果是这样的:>>a     1    2    3     4    5    6     7    8    9    10   11   12>>b     1    7    2    8    3    9     4   10    5   11    6   12对于 b=reshape(a,m,n);其中的规律是这样的,先把矩阵a按列拆分,然后拼接成一个大小为m*n的向量。然后对这个向量每隔m间隔取一个元素组成一个向量b_i,之后的向量b_i+1也是这样生成,只不过第一个元素往下移一位。这样做完之后得到m个大小为n的行向量,将这些行向量拼接即可得到矩阵b。3,取模(mod)与取余(rem)通常取模运算也叫取余运算,它们返回结果都是余数.rem和mod唯一的区别在于:   当x和y的正负号一样的时候,两个函数结果是等同的;当x和y的符号不同时,rem函数结果的符号和x的一样,而mod和y一样。  这是由于这两个函数的生成机制不同,rem函数采用fix函数,而mod函数采用了floor函数(这两个函数是用来取整的,fix函数向0方向舍入,floor函数向无穷小方向舍入)。   rem(x,y)命令返回的是x-n.*y,如果y不等于0,其中的n=fix(x./y),而mod(x,y)返回的是x-n.*y,当y不等于0时,n=floor(x./y) 例:>> mod(5,2)ans=1            %“除数”是正,“余数”就是正>> mod(-5,2)ans=1>> mod(5,-2)ans=-1            %“除数”是负,“余数‘就是负>> mod(-5,-2)ans=-1           %用rem时,不管“除数”是正是负,“余数”的符号与“被除数”的符号相同>>rem(5,2)ans=1            %“被除数”是正,“余数”就是正>>rem(5,-2) ans=1>>rem(-5,2)ans=-1            %“被除数”是负,“余数”就是负>>rem(-5,-2)ans=-14,size函数size(A)函数是用来求矩阵的大小的,你必须首先弄清楚A到底是什么,大小是多少。比如说一个A是一个3×4的二维矩阵:     1、size(A)%直接显示出A大小      输出:ans=3   4      2、s=size(A)%返回一个行向量s,s的第一个元素是矩阵的行数,第二个元素是矩阵的列数      输出:s=3   4      3、[r,c]=size(A)%将矩阵A的行数返回到第一个输出变量r,将矩阵的列数返回到第二个输出变量c      输出:r=3               c=4      4、[r,c,m]=size(A)      输出:r=3               c=4               m=1也就说它把二维矩阵当作第三维为1的三维矩阵,这也如同我们把n维列向量当作n×1的矩阵一样      5、当a是一个n维行向量时,size(A)把其当成一个1×n的矩阵,因此size(a)的结果是      ans=1  n而不是a的元素个数n      6、size(A,n)      如果在size函数的输入参数中再添加一项n,并用1或2为n赋值,则 size将返回矩阵的行数或列数。其中r=size(A,1)该语句返回的是矩阵A的行数,c=size(A,2)该语句返回的是矩阵A的列数。5,deconv函数求多项式x4+8x3-10除以多项式2x2-x+3的结果[q,r]=deconv([1800-10],[2-13])%q是商,r是余数。数组从后到前表示从〇次项到各高次项的系数6,bitor(a,b)对a、b按位进行或运算bitand(a,b)对a、b按位进行和运算bitcmp(a,N)a在2^N-1上按位的补集,bitcmp():逐位逻辑非。Bitxor按位异或 7,格式:B= sort(A)  %沿着输入参量A的不同维的方向、从小到大重新排列A中的元素。A可以是字符串的、实数的、复数的单元数组。对于A中完全相同的元素,则按它们在A中的先后位置排列在一块;若A为复数的,则按元素幅值的从小到大排列,若有幅值相同的复数元素,则再按它们在区间[-π,π]的幅角从小到大排列;若A中有元素为NaN,则将它们排到最后。若A为向量,则返回从小到大的向量,若A为二维矩阵,则按列的方向进行排列;若A为多维数组,sort(A)把沿着第一非单元集的元素像向量一样进行处理。B=sort(A,dim)%沿着矩阵A中指定维数dim方向重新排列A中的元素。[B,IX]=sort(A);%其中IX是一个大小等于size(A)的数组,其每一列是A中列向量的元素相对应的置换位置记号。举例:A=[335042];sort(A,1)%纵向排列ans=    0    3    2    3    4    5sort(A,2)%横向排列ans=    3    3    5    0    2    4>>A=[-1.9,-0.2,3.1415926,5.6,7.0,2.4+3.6i]; >>[B1,INDEX]= sort(A)计算结果为:    B1=        Columns1through4          -0.2000     -1.9000      3.1416        2.4000+3.6000i        Columns5through6           5.6000     7.0000    INDEX=          2    1    3    6    4    5由此可知,如果A与另一个矩阵C(char或cell)一一对应,如果用[B1,INDEX]= sort(A)对A进行排序,则可以取得索引INDEX,进而可以查询B1中每个元素与C中哪一个对应。8,repmat函数B= repmat(A,m,n)B= repmat(A,[mn])B= repmat(A,[mnp...])这是一个处理大矩阵且内容有重复时使用,其功能是以A的内容堆叠在(MxN)的矩阵B中,B矩阵的大小由MxN及A矩阵的内容决定,如果A是一个3x4x5的矩阵,有B= repmat(A,2,3)则最后的矩阵是6x12x5例如:>>B=repmat([12;34],2,3)B= 1     2      1    2    1    23     4      3    4    3    41    2    1     2     1    2 3    4    3     4     3    4其结果变为4X6。A也可以置放文字串,如:>>C=repmat('Longlivetheking!',2,2)C=Longlivetheking!Longlivetheking!Longlivetheking!Longlivetheking!也可置放其他的:>>D=repmat(NaN,2,5)D=NaN  NaN  NaN  NaN  NaNNaN  NaN  NaN  NaN  NaN9.a*b就是矩阵乘法a.*b就是a,b的对应元素相乘10你好,matlab里是左除,/是右除。如果是数字计算,则左除和右除是等效的,例如3/2=23。而对于矩阵运算,则二者不等效。矩阵除法在matlab里定义为矩阵求逆后相乘。例如A的逆矩阵是A1,则B/A=B*A1,AB=A1*B。矩阵乘法不满足交换律,因此需要有左右除法之分。矩阵求逆的命令是inv,即A1=inv(A)。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭