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
?
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的matlab中基本函数的用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实木地板被机器人弄成坑_实木地板的常规保
- 下一篇: python爱心代码制作_Python之