CSI笔记【11】:阵列信号处理及MATLAB实现(第2版)阅读随笔(三)
生活随笔
收集整理的這篇文章主要介紹了
CSI笔记【11】:阵列信号处理及MATLAB实现(第2版)阅读随笔(三)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
CSI筆記【11】:陣列信號處理及MATLAB實現(第2版)閱讀隨筆(三)
- Chapter5 陣列信號處理MATLAB編程常用函數介紹
- (1).創建矩陣
- (2).zeros 函數:創建全0矩陣
- (3).eye 函數:創建單位矩陣
- (4).ones 函數:創建全1矩陣
- (5).rand 函數:創建均勻分布隨機矩陣
- (6).randn 函數:創建正態分布隨機矩陣
- (7).hankel 函數:創建Hankel矩陣
- (8).toeplitz 函數:創建Toeplitz矩陣
- (9).det 函數:計算方陣行列式
- (10).inv 函數:求方陣的逆矩陣
- (11).pinv 函數:求矩陣的偽逆矩陣
- (12).rank 函數:求矩陣的秩
- (13).diag 函數:抽取矩陣對角線元素
- (14).fliplr 函數:矩陣左右翻轉
- (15).eig 函數:矩陣特征值分解
- (16).svd 函數:矩陣奇異值分解
- (17).矩陣轉置和共軛轉置
- (18).awgn 函數:添加高斯白噪聲
- (19).sin 函數:正弦函數
- (20).cos 函數:余弦函數
- (21).tan 函數:正切函數
- (22).asin 函數:反正弦函數
- (23).acos 函數:反余弦函數
- (24).atan 函數:反正切函數
- (25).abs 函數:求復數的模
- (26).angle 函數:求復數的相位角
- (27).real 函數:求復數的實部
- (28).imag 函數:求復數的虛部
- (29).sum 函數:求和函數
- (30).max 函數:求最大值函數
- (31).min 函數:求最小值函數
- (32).sort 函數:排序函數
- (33).poly2sym 函數:創建多項式
- (34).sym2poly 函數:講符號多項式轉換為數值多項式
- (35).roots 函數:多項式求根
- (36).size 函數:求矩陣大小
- Reference
Chapter5 陣列信號處理MATLAB編程常用函數介紹
(1).創建矩陣
直接輸入矩陣數值,分號代表行分割,創建數值矩陣。e.g.e.g.e.g.
>>A=[1 3 5;2,4 6;3,8,9]; >>A A=1 3 52 4 63 8 9(2).zeros 函數:創建全0矩陣
>>A=zeros(n):創建n*n全0矩陣。 >>A=zeros(n,m):創建n*m全0矩陣。 >>A=zeros(size(B)):創建與矩陣B相同大小的全0矩陣。(3).eye 函數:創建單位矩陣
>>A=eye(n):創建n*n單位矩陣。 >>A=eye(n,m):創建n*m單位矩陣。 >>A=zeros(size(B)):創建與矩陣B相同大小的單位矩陣。(4).ones 函數:創建全1矩陣
>>A=ones(n):創建n*n全1矩陣。 >>A=eye(n,m):創建n*m全1矩陣。 >>A=zeros(size(B)):創建與矩陣B相同大小的全1矩陣。(5).rand 函數:創建均勻分布隨機矩陣
>>A=rand(n):創建n維均勻分布隨機矩陣,其元素在(0,1)內。 >>A=rand(n,m):創建n*m均勻分布隨機矩陣。 >>A=rand(size(B)):創建與矩陣B相同大小的均勻分布隨機矩陣。(6).randn 函數:創建正態分布隨機矩陣
>>A=randn(n):創建n*n正態分布隨機矩陣。 >>A=randn(n,m):創建n*m正態分布隨機矩陣。 >>A=randn(size(B)):創建與矩陣B相同大小的正態分布隨機矩陣。(7).hankel 函數:創建Hankel矩陣
>>A=hankel(n):第一列元素為n,反三角以下元素為0。 >>A=hankel(n,m):第一列元素為n,最后一行元素為m,如果n的最后一個元素與m的第一個元素不同,則交叉位置元素取n的最后一個元素。e.g.e.g.e.g.
>>n=[3 2 1]; >>m=[1 5 9]; >>A=hankel(n,m); >>A A=3 2 12 1 51 5 9 >>A=hankel(n); >>A A=3 2 12 1 01 0 0(8).toeplitz 函數:創建Toeplitz矩陣
>>A=toeplitz(n):用向量n創建一個對稱Toeplitz矩陣。 >>A=toeplitz(n,m):第一列元素為n,第一行元素為m,如果n的第一個元素與m的第一個元素不同,則交叉位置元素取n的第一個元素。e.g.e.g.e.g.
>>n=[1 2 3]; >>m=[1 5 9]; >>A=toeplitz(n); >>A A=1 2 32 1 23 2 1 >>A=toeplitz(n,m); >>A A=1 5 92 1 53 2 1(9).det 函數:計算方陣行列式
>>det(A):計算方陣A的行列式。e.g.e.g.e.g.
>>A=[1 3 6;2 4 5;1 2 3] A=1 3 62 4 51 2 3 >>det(A) ans=-1(10).inv 函數:求方陣的逆矩陣
>>inv(A):計算方陣A的逆矩陣A^{-1}。e.g.e.g.e.g.
>>A=[1 3 6;2 4 5;1 2 3]; >>inv(A) ans=-2 -3 91 3 -70 -1 2(11).pinv 函數:求矩陣的偽逆矩陣
>>pinv(A):計算矩陣A的偽逆矩陣A^{+}。e.g.e.g.e.g.
>>A=[1 3 6;2 4 5;1 2 3]; >>pinv(A) ans=0.1579 -0.8421 0.3684 2.1579-0.6842 1.3158 -0.2632 -1.68420.4737 -0.5263 0.1053 0.4737(12).rank 函數:求矩陣的秩
>>rank(A):計算矩陣A的秩。e.g.e.g.e.g.
>>A=[1 3 6;2 4 5;1 2 3]; >>rank(A) ans=3(13).diag 函數:抽取矩陣對角線元素
>>A=diag(m):以m為主對角線元素,其余元素為0。 >>m=diag(A):取矩陣A的主對角線元素構造向量m。e.g.e.g.e.g.
>>A=[1 3 6;2 4 5;1 2 3]; >>m=diag(A); >>m143 >>m=[1 2 3]; >>A=diag(m); >>A A=1 0 00 2 00 0 3(14).fliplr 函數:矩陣左右翻轉
>>fliplr(A):將矩陣A左右翻轉。e.g.e.g.e.g.
>>A=[1 3 6;2 4 5;1 2 3] A=1 3 62 4 51 2 3 >>fliplr(A) ans=6 3 15 4 23 2 1(15).eig 函數:矩陣特征值分解
>>d=eig(A):計算A的特征值。 >>d=eig(A,B):計算A的廣義特征值。 >>[V,D]=eig(A):計算A的特征值對角陣D和特征向量構成的矩陣V。 >>[V,D]=eig(A,B):計算A的廣義特征值對角陣D和廣義特征向量構成的矩陣V。e.g.e.g.e.g.
>>A=[1 3 6;2 4 5;1 2 3]; >>[V,D]=eig(A); >>V V=-0.5970 -0.9433 0.6669-0.7083 0.3209 -0.6977-0.3767 0.0847 0.2615 >>D D=8.3451 0 00 -0.5594 00 0 0.2142(16).svd 函數:矩陣奇異值分解
>>s=svd(A):計算矩陣A的奇異值向量。 >>[U,S,V]=svd(A):計算A的奇異值對角矩陣S和兩個酉矩陣U和V。e.g.e.g.e.g.
>>A=[1 3 6;2 4 5;1 2 3]; >>[U,S,V]=svd(A); >>U U=-0.6608 -0.7306 -0.1718-0.6544 -0.6730 -0.3447-0.3675 -0.1154 0.9228 >>S S=12.1722 0 00 1.2331 00 0 0.0797 >>V V=-0.2298 -0.5926 0.7720-0.5245 -0.5928 -0.6112-0.8198 0.5453 0.1746(17).矩陣轉置和共軛轉置
>>A.':計算A的轉置矩陣。 >>A':計算A的共軛轉置矩陣。e.g.e.g.e.g.
>>A=randn(2,3)+j*randn(2,3); %創建一個復數矩陣 >>A A=0.6715+0.7269i 0.7172+0.2939i 0.4889+0.8884i-0.2075-0.3034i 1.6302-0.7873i 1.0347-1.1471i >>A' ans=0.6715-0.7269i -0.2075+0.3034i0.7172-0.2939i 1.6302+0.7873i0.4889-0.8884i 1.0347+1.1471i >>A.' ans=0.6715+0.7269i -0.2075-0.3034i0.7172+0.2939i 1.6302-0.7873i0.4889+0.8884i 1.0347-1.1471i(18).awgn 函數:添加高斯白噪聲
>>Y=awgn(X,snr):向信號X添加高斯白噪聲,信噪比snr單位為dB。信號X的功率假定為0dBW。 >>Y=awgn(X,snr,sigpower):向信號X添加高斯白噪聲,信噪比snr單位為dB。信號X的功率為sigpower (dBW)。 >>Y=awgn(X,snr,'measured'):向信號X添加高斯白噪聲,信噪比snr單位為dB。在添加噪聲前計算信號X功率(dBW)。e.g.e.g.e.g.
>>X=randn(2,5); %創建一隨機信號X >>X X=0.5377 -2.2588 0.3188 -0.4336 3.57841.8339 0.8622 -1.3077 0.3426 2.7694 >>Y=awgn(X,10,'measured'); %添加高斯白噪聲,信噪比為10dB >>Y Y=-0.2270 -1.8479 0.7237 -0.5039 4.37663.5531 0.8265 -1.4238 1.1865 3.5722(19).sin 函數:正弦函數
>>y=sin(x):返回x中個元素的正弦值,x的單位為弧度(rad)。e.g.e.g.e.g.
>>sin(45*pi/180) %計算sin(45^\degree) ans=0.7071(20).cos 函數:余弦函數
>>y=cos(x):返回x中個元素的余弦值,x的單位為弧度(rad)。e.g.e.g.e.g.
>>cos(45*pi/180) %計算cos(45^\degree) ans=0.7071(21).tan 函數:正切函數
>>y=tan(x):返回x中個元素的正切值,x的單位為弧度(rad)。e.g.e.g.e.g.
>>cos(45*pi/180) %計算tan(45^\degree) ans=1.0000(22).asin 函數:反正弦函數
>>y=asin(x):返回x中個元素的反正弦值,y的單位為弧度(rad)。e.g.e.g.e.g.
>>asin(0.7071) ans=0.7854(23).acos 函數:反余弦函數
>>y=acos(x):返回x中個元素的反余弦值,y的單位為弧度(rad)。e.g.e.g.e.g.
>>acos(0.7071) ans=0.7854(24).atan 函數:反正切函數
>>y=atan(x):返回x中個元素的反正切值,y的單位為弧度(rad)。e.g.e.g.e.g.
>>atan(1) ans=0.7854(25).abs 函數:求復數的模
>>y=abs(x):如果x是實數,返回x的絕對值;如果x是復數,返回x的模。e.g.e.g.e.g.
>>a=-1; >>b=1+1j; >>abs(a) ans=1 >>abs(b) ans=1.4142(26).angle 函數:求復數的相位角
>>y=angle(x):返回復數x的相位角,單位為弧度(rad)。e.g.e.g.e.g.
>>a=1+1j; a=1.0000+1.0000i >>angle(a) ans=0.7854(27).real 函數:求復數的實部
>>y=real(x):返回復數x實數部分。e.g.e.g.e.g.
>>a=1+1j; a=1.0000+1.0000i >>real(a) ans=1(28).imag 函數:求復數的虛部
>>y=imag(x):返回復數x虛數部分。e.g.e.g.e.g.
>>a=1+1j; a=1.0000+1.0000i >>imag(a) ans=1(29).sum 函數:求和函數
>>B=sum(A):如果A為向量,返回各元素之和;如果A為矩陣,返回各列元素之和構成的一個行向量。 >>B=sum(A,dim):沿著dim指定的維數求和,其中dim\in[1,N], N為矩陣維數。當dim取1時,返回列向量之和構造的行向量;當dim取2時,返回行向量之和構造的列向量。e.g.e.g.e.g.
>>A=[1 3 6;2 4 5;1 2 3;1 1 1]; >>sum(A,1) ans=5 10 15 >>sum(A,2) ans=101163 >>sum(A) ans=5 10 15(30).max 函數:求最大值函數
>>B=max(A):如果A為向量,返回各元素之中的最大值;如果A為矩陣,返回各列元素最大值構成的一個行向量。 >>B=max(A,[],dim):沿著dim指定的維數求最大值,其中dim\in[1,N], N為矩陣維數。當dim取1時,返回列向量最大值構造的行向量;當dim取2時,返回行向量最大值構造的列向量。e.g.e.g.e.g.
>>A=[1 3 6;2 4 5;1 2 3;1 1 1]; >>max(A,[],1) ans=2 4 6 >>max(A,[],2) ans=6531 >>max(A) ans=2 4 6(31).min 函數:求最小值函數
>>B=min(A):如果A為向量,返回各元素之中的最小值;如果A為矩陣,返回各列元素最小值構成的一個行向量。 >>B=min(A,[],dim):沿著dim指定的維數求最小值,其中dim\in[1,N], N為矩陣維數。當dim取1時,返回列向量最小值構造的行向量;當dim取2時,返回行向量最小值構造的列向量。e.g.e.g.e.g.
>>A=[1 3 6;2 4 5;1 2 3;1 1 1]; >>min(A) ans=1 1 1 >>min(A,[],1) ans=1 1 1 >>min(A,[],2) ans=1211(32).sort 函數:排序函數
>>B=sort(A):如果A為向量,則將A中各元素按從小到大排序;如果A為矩陣,則將A中各列元素按從小到大排序。 >>B=sort(A,dim):沿著dim指定的維數排序,當dim取1時,則將A中各列元素按從小到大排序;當dim取2時,則將A中各行元素從小到大排序。 >>B=sort(···,mode):將矩陣中元素按指定模式排列,當mode='ascend'時,則按從小到大排序;當mode='descend'時,則按從大到小排序。 >>[B,V]=sort(A),將A排序,并返回一個與A同形的矩陣V,指定B矩陣中各元素在A中的位置。e.g.e.g.e.g.
>>A=[1 10 3;5 2 6;3 4 8]; A=1 10 35 2 63 4 8 >>sort(A) ans=1 2 33 4 65 10 8 >>sort(A,1) ans=1 2 33 4 65 10 8 >>sort(A,2) ans=1 3 102 5 63 4 8 >>sort(A,'descend') ans=5 10 83 4 61 2 3 >>[B,V]=sort(A) B=1 2 33 4 65 10 8 V=1 2 13 3 2 2 1 3(33).poly2sym 函數:創建多項式
>>y=poly2sym(c):返回一個符號多項式。其中,參數c為保存多項式的系數的向量。 >>y=poly2sym(c,'t'):返回一個符號多項式。其中,參數c為保存多項式的系數的向量,t為符號向量。e.g.e.g.e.g.
>>c=[1 2 5 7]; >>y=poly2sym(c); >>y y=x^3+2*x^2+5*x+7(34).sym2poly 函數:講符號多項式轉換為數值多項式
>>c=sym2poly(y):返回符號多項式y的數值系數構成的行向量。e.g.e.g.e.g.
>>syms x; >>y=x^3+2*x^2+5*x+7; >>c=sym2poly(y); >>c c=1 2 5 7(35).roots 函數:多項式求根
>>r=roots(c):返回一個由多項式根構成的列向量。e.g.e.g.e.g.
>>c=[1,2,5,7]; >>r=roots(c); >>r r=-0.1981+2.0797i-0.1981-2.0797i-1.6038(36).size 函數:求矩陣大小
>>[m,n]=size(A):分別返回矩陣的行數和列數。e.g.e.g.e.g.
>>A=[1 2 3 4;5 6 7 8]; >>A A=1 2 3 45 6 7 8 >>[m,n]=size(A); >>m m=2 >>n n=4Reference
[1] 陣列信號處理及MATLAB實現(第2版)?\circledcirc? 張小飛 李建峰 徐大專 等 著.
總結
以上是生活随笔為你收集整理的CSI笔记【11】:阵列信号处理及MATLAB实现(第2版)阅读随笔(三)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UEditor自定义工具栏图标
- 下一篇: 一起学CC3200之菜鸟必看(网络知识)