matlab中基本函数的用法

一 matlab中eig函数常用的操作

(1) E=eig(A):求矩阵A的全部特征值,构成向量E。

    想求最大特征值用:max(eig(A))就好了。
(2) [V,D]=eig(A):求矩阵A的全部特征值,构成对角阵D,并求A的特征向量构成

V的列向量。
(3) [V,D]=eig(A,'nobalance'):与第2种格式类似,但第2种格式中先对A作相似

变换后求矩阵A的特征值和特征向量,而格式3直接求矩阵A的特征值和特征向量。

(4) E=eig(A,B):由eig(A,B)返回N×N阶方阵A和B的N个广义特征值,构成向量E


(5) [V,D]=eig(A,B):由eig(A,B)返回方阵A和B的N个广义特征值,构成N×N阶对

角阵D,其对角线上的N个元素即为相应的广义特征值,同时将返回相应的特征向

量构成N×N阶满秩矩阵,且满足AV=BVD。

二 matlab中diag函数的用法

1  X = diag(v,k)

v为向量,X为矩阵

以向量v的元素作为矩阵X的第k条对角线元素,当k=0时,v为X的主对角线;当k>0时,v为上方第k条对角线;当k<0时,v为下方第k条对角线。
例:
>> v=[1 2 3];
>> x=diag(v,-1)
x =
     0     0     0     0
     1     0     0     0
     0     2     0     0
     0     0     3     0

2  v=diag(X,k)

X为矩阵,v为向量

取矩阵X的第K条对角线元素为向量v

例:

>> aa=randn(3,3)

aa =

   -1.3282   -1.7925    0.4092
   -0.3803    0.5858   -0.4684
   -0.9560    0.7356    0.8292

>> diag(aa)

ans =

   -1.3282
    0.5858
    0.8292

>> diag(aa,1)

ans =

   -1.7925
   -0.4684

>> diag(aa,2)

ans =

    0.4092

Matlab自带排序函数sort用法

[Y,I] = sort(X,DIM,MODE)

sort函数默认Mode为'ascend'为升序,sort(X,'descend')为降序排列。

sort(X)若X是矩阵,默认对X的各列进行升序排列

sort(X,dim)

dim=1时等效sort(X)

dim=2时表示对X中的各行元素升序排列

 

Matlab中给一维向量排序是使用sort函数:sort(X),其中x为待排序的向量。若欲保留排列前的索引,则可用[sX,index] = sort(X) ,排序后,sX是排序好的向量,index是 向量sX中对X 的索引。 索引使排列逆运算成为可能。事实上,这里X≡sX(index), [X恒等于sX(index)],这个结论确实很奇妙,而且很有用。

  

matlab按某一列数值,改变矩阵中整行的排列位置。

b=sortrows(a,2)    %a 为要排序的矩阵。2表示按第几列进行排序,整数代表升序,负数代表降序。

%将矩阵a按照第2列的升序排列,其他列不会作升序排列,而是将跟随着第2列 的变化,保持一一对应。

b=sortrows(a,-1)

%将矩阵a按照第1列的降序排列,其他列将跟随着第1列 的变化,保持一一对应。

 

data=magic(3)

data =

 

     8    1     6

     3    5     7

     4    9     2

data1=sortrows(data,1)

data1 =

 

     3    5     7

     4    9     2

     8    1     6

data2=sortrows(data,-1)

data2 =

 

     8    1     6

     4    9     2

     3    5     7

 

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值