Matlab与信号处理(一):数组与矩阵

目录

一、数组

1.数组的创建:

(1)用方括号创建:

 (2)用冒号创建:

(3) 用函数创建:

2.数组的算术运算:

(1)数组乘法:

 (2)数组除法:

 (3)数组幂运算:

 二、矩阵:

1.矩阵的创建:

(1)用方括号创建:

 (2)用函数创建:

2.矩阵的算术运算:

(1)矩阵乘法: 

 (2)矩阵除法:


 

一、数组

1.数组的创建:

行数组:即n个元素排成一行,又称为行向量;列数组:即m个元素排成一列,又称为列向量。

(1)用方括号创建:

       用方括号[]创建一维数组就是将整个数组元素依次放在[]中,其中行数组的各元素之间用空格或者逗号分隔开;列数组的各元素之间用分号分隔开。例如:

clc;clear;close all;
A=[1 2 3 4 5 6]   %创建一个行数组
B=[1;2;3;4;5;6]   %创建一个列数组
A =

     1     2     3     4     5     6


B =

     1
     2
     3
     4
     5
     6

 (2)用冒号创建:

A=m:n

B=m:inc:n

其中,m是数组的第一个元素,但是b不一定是数组的最后一个元素,上面第一种情况下默认inc=1.

clc;clear;close all;
A=1:6     %创建一个从1到6的数组
B=1:0.3:6 %创建一个从1开始,中间间隔为0.3,最后一个元素小于6的数组
A =

     1     2     3     4     5     6


B =

  列 1 至 15

    1.0000    1.3000    1.6000    1.9000    2.2000    2.5000    2.8000    3.1000    3.4000    3.7000    4.0000    4.3000    4.6000    4.9000    5.2000

  列 16 至 17

    5.5000    5.8000

(3) 用函数创建:

①使用linspace()函数创建:

A=linspace(m,n):创建行向量A,第一个元素为m,最后一个元素为n,形成长度为100的等差数组。

A=linspace(m,n,t):创建行向量A,第一个元素为m,最后一个元素为n,形成长度为t的等差数组。

如果想创建一个列向量,可以使用转置的方法,先创建一个行向量,再将其转置为列向量。

clc;clear;close all;
A=linspace(1,4,4)
B=A'
A =

     1     2     3     4


B =

     1
     2
     3
     4

②使用logspace()函数创建:

A=logspace(m,n):创建一个行向量A,第一个元素为10^m,最后一个元素为10^n,形成长度为100的等比数组。

A=logspace(m,n,t):创建一个行向量A,第一个元素为10^m,最后一个元素为10^n,形成长度为t的等比数组。

clc;clear;close all;
A=logspace(1,4,4)
A =

          10         100        1000       10000

2.数组的算术运算:

两个一维数组进行运算的前提是:

            ①两个数组都为行数组(或都为列数组)。

            ②数组元素个数相同。

数组运算中的加法和减法,太简单了,我就不说了,就说说乘除和幂运算吧!

(1)数组乘法:

数组与数组之间的乘法就是将两个数组元素之间的数之间依次相乘,再形成一个新的数组。

clc;clear;close all;
A=[1 4 8 7 9]
B=[2 3 4 6 0]
C=A.*B          %数组与数组之间要用点乘
D=A*2           %数组与常数之间的乘法
A =

     1     4     8     7     9


B =

     2     3     4     6     0


C =

     2    12    32    42     0


D =

     2     8    16    14    18

 (2)数组除法:

数组与数组之间的除法分为左除和右除,这里可以凭字面意思进行理解。

clc;clear;close all;
A=[1 4 8 7 9]
B=[2 3 4 6 0]
C=A./B          %数组与数组之间要用点除,这里是左除
D=A.\B          %右除
E=A/2           %数组与常数之间的除法
A =

     1     4     8     7     9


B =

     2     3     4     6     0


C =

    0.5000    1.3333    2.0000    1.1667       Inf


D =

    2.0000    0.7500    0.5000    0.8571         0


E =

    0.5000    2.0000    4.0000    3.5000    4.5000

 (3)数组幂运算:

clc;clear;close all;
A=[1 4 8 7 9]
B=[2 3 4 6 0]
C=A.^B          %数组的幂运算必须要用.^
D=A.^3          
E=3.^A 
A =

     1     4     8     7     9


B =

     2     3     4     6     0


C =

           1          64        4096      117649           1


D =

     1    64   512   343   729


E =

           3          81        6561        2187       19683

 二、矩阵:

1.矩阵的创建:

(1)用方括号创建:

使用方括号创建矩阵需要注意以下几点:

①矩阵元素必须都在[]以内;

②矩阵的同行元素之间用空格或者逗号隔开;

③矩阵的行与行之间用分号(“;”)隔开。

clc;clear;close all;
A=[1 4 8;2 5 7;7 0 1] 
A =

     1     4     8
     2     5     7
     7     0     1

 (2)用函数创建:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA77yM77yM77yM77yM77yM77yM77yM77yM77yM77yM77yM,size_20,color_FFFFFF,t_70,g_se,x_16

clc;clear;close all;
Z1=zeros(5,4)  %产生5*4全为0的矩阵
Z2=ones(5,4)   %产生5*4全为1的矩阵
Z3=eye(5,4)    %产生5*4的单位矩阵
Z4=rand(5,4)   %产生5*4的在(0,1)区间均匀分布的随机阵
Z5=randn(5,4)  %产生5*4的均值为0,方差为1的标准正态分布随机矩阵
Z6=hilb(3)     %产生三维的Hilbert阵
Z7=magic(3)    %产生三阶的魔方阵
Z1 =

     0     0     0     0
     0     0     0     0
     0     0     0     0
     0     0     0     0
     0     0     0     0


Z2 =

     1     1     1     1
     1     1     1     1
     1     1     1     1
     1     1     1     1
     1     1     1     1


Z3 =

     1     0     0     0
     0     1     0     0
     0     0     1     0
     0     0     0     1
     0     0     0     0


Z4 =

    0.4898    0.2760    0.4984    0.7513
    0.4456    0.6797    0.9597    0.2551
    0.6463    0.6551    0.3404    0.5060
    0.7094    0.1626    0.5853    0.6991
    0.7547    0.1190    0.2238    0.8909


Z5 =

    1.5442    2.3505   -0.7648   -0.1961
    0.0859   -0.6156   -1.4023    1.4193
   -1.4916    0.7481   -1.4224    0.2916
   -0.7423   -0.1924    0.4882    0.1978
   -1.0616    0.8886   -0.1774    1.5877


Z6 =

    1.0000    0.5000    0.3333
    0.5000    0.3333    0.2500
    0.3333    0.2500    0.2000


Z7 =

     8     1     6
     3     5     7
     4     9     2

2.矩阵的算术运算:

(1)矩阵乘法: 

矩阵的乘法想必大家应该都在线性代数里面学过,这里我就不做过多解释了。

clc;clear;close all;
A=[5 7 6;1 9 7;9 6 4]
B=[9 4 3 1;7 9 4 2;7 4 0 3]
C=A*B
A =

     5     7     6
     1     9     7
     9     6     4


B =

     9     4     3     1
     7     9     4     2
     7     4     0     3


C =

   136   107    43    37
   121   113    39    40
   151   106    51    33

 (2)矩阵除法:

      矩阵除法运算:"\"和"/"分别表示左除和右除。A\B表示A矩阵的逆矩阵左乘于B矩阵,而A/B表示A矩阵的逆矩阵右乘于B矩阵。一般A\B≠A/B。

clc;clear;close all;
A=[9 8 7;6 5 4;3 2 1]
B=[9;1;7]
C=A.\B
D=A./B
A =

     9     8     7
     6     5     4
     3     2     1


B =

     9
     1
     7


C =

    1.0000    1.1250    1.2857
    0.1667    0.2000    0.2500
    2.3333    3.5000    7.0000


D =

    1.0000    0.8889    0.7778
    6.0000    5.0000    4.0000
    0.4286    0.2857    0.1429

 (3)矩阵的乘方:

矩阵的乘方运算,矩阵必须为方阵。

clc;clear;close all;
A=[9 8 7;6 5 4;3 2 1]
B=A^2
A =

     9     8     7
     6     5     4
     3     2     1


B =

   150   126   102
    96    81    66
    42    36    30

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值