Matlab 資料處理

2021-09-27 09:39:07 字數 3583 閱讀 6104

資料統計與分析

多項式處理

微積分離散傅利葉變換

線性方程組求解

非線性方程與最優化問題

常微分方程的數值求解

稀疏矩陣

最大值最小值

max

(x)min

(x)//返回矩陣的最大元素和最小元素

[y,u]

=max

(a)// 返回倆個行向量,y記錄a的每列的最大元素,u記錄每列最大元素的行號

[y,u]

=max

(a,[

],dim) dim=

1時與上相同,dim為2時返回列向量,第i個元素是a矩陣的第i行上的最大元素

//min相同

u = max[a,b]

// 若a b為同行的矩陣或向量,則u是與他們同型的向量或矩陣,u的每個元素等於a b對應元素的較大者;

//若b為標量,則u是與a同行的向量或矩陣,u中每個元素等於a對應元素和n中的較大者

若要查詢矩陣中的最大元素:max(max(a))max(a(:))

求矩陣的平均值和中值

// 設x是向量 a是矩陣

mean(x) // 返回向量x的算術平均值

median

(x)// 返回向量x的中值

mean

(a)// 返回乙個行向量,其中第i個元素是a中的第i列的算術平均值

median(a)//返回乙個行向量,其中第i個元素是a中的第i列的中值

median

(a,dim)

// dim = 1時,同上,dim為2時,返回乙個列向量,其中第i個元素是a的第i行的中值

矩陣元素的求和與求積

// 設x為向量,a為矩陣

sum(x)// 求和

prod(x) // 求乘積

sum(a) // 返回乙個行向量, 第i個元素是a的第i列的元素和

prod(a)// 返回乙個行向量, 第i個元素是a的第i列的元素積

sum(a,dim) // dim=2 返回列向量,第i元素為a的第i行的個元素的和

prod

(a,dim) // dim=2 返回列向量,第i元素為a的第i行的個元素的積

若想求全部的乘積或和,可以參照max的用法

矩陣元素的累加與累積

cumsum

(x)//返回向量x累加和向量

cumprod

(x)// 返回向量x的累乘積向量

cumsum

(a) // 返回矩陣,第i列是a的第i列的累加和向量

cumprod

(a)//返回矩陣,第i列是a的第i列的累乘積向量

cumsum

(a,dim)

cumprod

(a,dim) 不再累述,可以用help檢視

標準方差

std(a,flag,dim)

// 當dim為1,返回乙個行向量每個元素為矩陣的各列元素的標準方差,dim=2時返回各行元素的標準方差;flag為1時按照乙個標準差公式,為2時為另乙個標準差工式

相關係數

corrcoef(x) // 返回從矩陣x形成的乙個相關係數矩陣

corrcoef(x,y) // 與corrocoef([x,y]) 相同

排序函式

sort

(a)// 詳情請看help

多項式的處理

進行多項式的乘法運算

conv

(p1,p2)

//,其中,p1,p2為多項式(a0*x^n+a1*x^n-1。。。。+an)的係數

對多項式進行除法運算

[q,r]

= deconv(p1,p2)

//是,q為商式,r為余式

求p的導數

p = polyder(p)
**求p*q的導函式 **

p =

polyder

(p,q)

求p\q的導函式

[p,q]

=polyder

(p,q)

// 導函式的分子存入p,分母存入q

代數多項式求值

a =

polyval

(p,x)

// p為多項式的係數向量,x為自變數,若x為數值,則求該點的值,若為矩陣或向量,則對其中每個元素求值 eg:a.*a.*a - 5*a.*a+8*ones(size(a))

矩陣多項式求值

polyvalm

(p,a)

// 要求p係數向量,a為方陣 則含義為eg: a*a*a - 5*a*a + 8*eye(size(a))

多項式求根

x =

roots

(p)// n次多項式有n個根

多項式求根後,可以使用poly(x)將所有求的的根建立起該多項式

直接解法

1.利用右除運算:x = a\b

2.利用矩陣的分解求解線性方程組:

lu分解:將矩陣表示為乙個交換下三角矩陣和乙個上三角矩陣的乘積式,前提x方陣是非奇異的

[l,u] = lu(x)  // 產生乙個上三角陣u和變換形式的下三角陣l(行變換)使x = lu

[l,u,p] = lu(x) 產生乙個上三角陣u和下三角陣l和乙個置換矩陣p,使之能px = lu

實現分解後x=u(l\b) 或x = u(l\pb)

qr分解將矩陣分解為乙個正交矩陣q與上三角矩陣r的乘積形式,qr分解只能對方陣進行

持續更新。。。

[q,r] = qr(x) // 產生正交矩陣q,上三角矩陣r,使滿足x = qr;

[q,r,e] = qr(x) // 產生正交矩陣q,上三角矩陣r以及乙個轉置矩陣e,使滿足xe = qr;

實現分解後ax=b的解x = r(q\b)或x = e(r(q\b))

cholesky分解不再介紹

3.迭代解法

非常適合求解大型係數矩陣的方程組

常用的矩陣資料處理命令(Matlab)

resp fig2plotly 把m列1行的矩陣a複製成m列n行 a repmat a,n,1 自帶函式繪製roc曲線,a為1 n表示樣本實際標籤,b為1 n表示樣本 為1的概率 plotroc a,b 把m行n列的矩陣轉為mn 1 的向量 b a 把向量a轉換為3維的n n n向量 b resha...

資料處理 流資料處理利器

流處理 stream processing 是一種計算機程式設計正規化,其允許給定乙個資料序列 流處理資料來源 一系列資料操作 函式 被應用到流中的每個元素。同時流處理工具可以顯著提高程式設計師的開發效率,允許他們編寫有效 乾淨和簡潔的 流資料處理在我們的日常工作中非常常見,舉個例子,我們在業務開發...

爬蟲 資料處理 pandas資料處理

使用duplicated 函式檢測重複的行,返回元素為布林型別的series物件,每個元素對應一行,如果該行不是第一次出現,則元素為true keep引數 指定保留哪一重複的行資料 dataframe替換操作 使用df.std 函式可以求得dataframe物件每一列的標準差 資料清洗清洗重複值 清...