1、由flag指定算法来计算特征值D和特征向量V,flag的可能值为:chol:表示对B进行cholesky分解算法,这里A是对称的Hermitian矩阵,B为正定矩阵。 www.iLoveM qz表示使用qz分解算法,这里A、B是非对称或非Hermitian矩阵。2.invY = inv(X) 求方阵X的逆矩阵。如果X是奇异方阵或接近奇异方阵那么输出一个警告信息。实际上,很少需要用矩阵的逆矩阵。inv函数被频繁滥用当解线性方程A*X = b时。一个方法是用x = inv(A)*b,更好的方法是,无论在执行时间上还是数值精度上,用矩阵除法操作 x = Ab.这是用高斯消元法求解的,没有用到逆矩阵。
2、3、rankrank函数提供了对全矩阵线性无关的行或列的个数的估计。k = rank(A) 返回矩阵A中精度大于默认精度max(size(A)*eps(norm(A)的奇异值的个数。k = rank(A,tol) 返回矩阵A中大于tol的奇异值的个数。4、tref5、lu矩阵的三角分解有称LU分解,目的是将一个矩阵分解为一个下三角矩阵L和一个上三角矩阵U的乘积,即A=LU。L,U = lu(A) U为上三角阵,L为下三角阵或其变换形式,满足LU=X。L,U,P = lu(A) U为上三角阵,L为下三角阵,P为单位矩阵的行变换矩阵,满足LU=PA. Y = lu(A) L,U,P,Q = lu(
3、A) L,U,P,Q,R = lu(A) . = lu(A,vector) Simulink与信号处理 . = lu(A,thresh) . = lu(A,thresh,6、findind = find(X) 找出数组X中的所有非零的元素的位置,并且在向量ind中返回非零元素的线性索引。如果X是一个行向量,则ind也是一个行向量,否则,ind是一个列向量。如果X没有非零元素或者是空数组,则ind为空数组。ind = find(X, k)或ind = find(X, k, first最多返回数组X中所有非零元素的前k个元素的索引值,k必须为正整数,但可以是任意数值数据类型。ind = find(
4、X, k, last最多返回数组X中所有非零元素的后k个元素的索引值。row,col = find(X, .) 返回矩阵X中非零元素的行和列的索引,此语法尤其对稀疏矩阵更使用。如果X是N2的多维数组,col是列的线性索引,比如,对5*7*3的数组X,其中在X(4,2,3)元素不为0,则find返回4在向量row中返回16在向量col,这是因为,(7列在第1页中)+(7列在第2页中)+(2列在第3页中)=16。 row,col,v = find(X, .) 返回X中非零元素的列向量或行向量v和对应的行与列的索引。如果X是一个逻辑式,则v是一个逻辑数组。输出v包含表达式X计算出的逻辑数组的非零值。
5、 比如:A= magic(4) A = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 r,c,v= find(A10);r, c, vans = 1 2 4 4 1 3 1 2 2 3 4 4 1 1 1 1 1 1 这里返回向量v是包含数组N中非零元素的逻辑数组,其中N=(A10).7、randnr = randn(n) 生成n*n的包含标准正态分布的随机矩阵。randn(m,n)或randn(m,n) 生成的m*n随机矩阵。randn(m,n,p,.)或randn(m,n,p,.) 生成的m*n*p随机矩数组。randn 产生一个随机数。randn(size
6、(A) 生成与数组A大小相同的随机数组。r = randn(., double)或r = randn(., single)返回指定类型的标准随机数,其中double指随机数为双精度浮点数,single指随机数为单精度浮点数。输入参数m,n,p,.应该是非负整数,负数倍看作为0。randn生成的随机数序列由MATLAB内部标准随机数发生器决定,默认的随机数序列属性可以用RandStream方法设置,设置不同的属性可以生成不同的随机数。由于在MATLAB软件起动的时候随机数发生器初始化成相同状态,函数rand,randn和randi将生成相同的随机数序列。 Matlab中文论坛 MATLAB7.7
7、之前版本,能够通过随机数种子的state, twister关键词控制随机数序列的内部状态,该方法在MATLAB后继版本中仍然可以使用,但是不推荐使用,推荐使用RandStream方法8、randirandi(imax) 生成在区间1:imax的随机整数。r = randi(imax,n) 生成n*n的包含在1:imax内离散均匀分布的随机整数矩阵。randi(imax,m,n)或randi(imax,m,n) Matlab中文论坛 randi(imax,m,n,p,.)或randi(imax,m,n,p,.) randi(imax,size(A) r = randi(imin,imax,.)
8、生成包含在imin:r = randi(., classname) 返回指定类型classname的整数数组,classname不支持64位整数。randi生成的随机数序列由MATLAB内部标准随机数发生器决定,默认的随机数序列属性可以用RandStream方法设置,设置不同的属性可以生成不同的随机数。9、eyeY = eye(n) 生成n*n的单位阵。Y = eye(m,n)或Y = eye(m n) 生成m*n的单位阵,其中对角线上为1,其他都为0,m,n大小应该为非负整数,负数被认为是0。Y = eye(size(A) 生成与矩阵A相同大小的单位阵。Y = eye(m, n, class
9、name) 生成m*n的矩阵,其中对角线上为classname数据类型的1,其他都为classname数据类型的0,classname是指定的数据输出类型字符串,classname可能取一下值:int8uint8int16uint16int32uint32int64, 或 uint64. book.iLoveM 高维数组没有单位矩阵,eye(2,3,4)的结果是错误。10、polyp = poly(A) 当A为n*n的矩阵时,返回包含n+1个元素的行向量,其元素为特征多项式的系数:det(sl-A) 。系数是按照降幂排列的。如果向量p有n+1元素,则其代表的多项式为 c1*sn+.+cn*s+
10、c(n+1)。p = poly(r) 其中r是一个向量,返回其元素是多项式系数的行向量,其中多项式的根式r中的元素11、maxC = max(A) 返回数组A不同维数的最大值。如果A是一个向量时,max(A)返回向量的最大值; Simulink与信号处理 如果A为一个矩阵时,max(A)把矩阵中的每列看成一个向量,返回一个包含每一列所有元素的最大值的行向量。如果A是一个多维矩阵时,max(A)把矩阵中的第一个非单一维部分看成一个向量,返回每个向量的最大值。 book.iLoveM C = max(A,B) 返回A和B中对应位置的最大元素,C的大小与A和B一致,A和B的维数必须一致或者都是标量。
11、C = max(A,dim) 返回A中沿着由标量dim指定维数的最大元素,比如,max(A,1)返回A中第一维(行)的最大值。C,I = max(.) 找出A中最大元素及其索引,把最大值返回给C,最大值索引返回给I。 如果有几个相同的最大值,那么返回第一个被发现的索引。12、ployfit13、stds = std(X) 如果X是一个向量,用上面公式(1)返回标准差。结果s是数据X分布的无偏估计方差的平方根,只要数据X是有独立同分布样本组成。如果X是一个矩阵,std(X)返回一个包含每一列所有元素的标准差的行向量。如果A是一个多元数组,std(X)将沿着数组X中第一个非单一维的值来计算标准差。
12、s = std(X,flag) 若flag = 0,这个命令和s = std(X)功能相同。若flag = 1,std(X,1)用上面公式2来计算标准差。s = std(X,flag,dim) 用指定的标量dim沿着数据X的维数来计算标准差,设置flag为0用n-1去标准化X,设置flag为1用n去标准化。14、fft句法Y = fft(X) Y = fft(X,n) Y = fft(X,dim) Y = fft(X,n,dim) n为离散傅里叶变换的点数,如果取n为2的幂函数,则可进行快速傅里叶变换。当x的长度小于n时,x会被补零填充到与n同样的长度;当x的长度大于n时,x会被截断。如果x是个矩阵,列的长度将会以同样的方式调整,fft会对每列进行傅里叶变换,并返回一个相同维数的矩阵。15、symssyms arg1 arg2 . 该句法表示syms arg1 arg2 . 为arg1 = sym(arg1);arg2 = sym(arg2 .的速记符号。syms arg1 arg2 . real 该句法表示syms arg1 arg2 . real 为arg1 = sym(,realr
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1