一、复数的矢量解释
对于复数z = 2 + i * 3,可以用矢量图来表示,代码如下:
>> z = 2 + i * 3
z =
2.00000000000000 + 3.00000000000000i
>> xcoords = [origin(1) real(z)]
xcoords =
0 2
>> ycoords = [origin(2) imag(z)]
ycoords =
0 3
>> plot(xcoords, ycoords);
>>
所画的矢量图如下:
二、 matlab中平均值的求法
1.存储在行矢量或列矢量x中的信号x,其平均值的求法如下:
mean = sum(x) / N
代码如下:
>> x = [5 2 8 5]
x =
5 2 8 5
>> mu = sum(x)/N
>> N = 4
N =
4
>> mu = sum(x)/N
mu =
5
>>
2. 如果x是一个二维的矩阵,包含N的元素,那么该和的求法如下:
mean = sum(sum(x))/N
代码如下:
>> z =[ 5 2 8 5
2 4 5 1]
z =
5 2 8 5
2 4 5 1
>> N = 8
N =
8
>> mu = sum(sum(x))/N
mu =
2.50000000000000
>>
对于3维的矩阵,平均值的求法如下
mean = (sum(sum(sum(x))) /N
其他维数依次类推
给定一个矩阵x,求其中包含的元素个数的方法如下:
N = prod (size(x));
3.对于高维的矩阵,求其平均值的方法如下:
N = prod(size(x)) %高维矩阵x中包含的所有元素
mean = sum(x(;)) / N %其中x(:)是把高维矩阵转换为一维矢量。
代码实现如下:
>> z=[ 5 2 8 5
2 4 5 1
3 7 10 12
7 9 15 20]
z =
5 2 8 5
2 4 5 1
3 7 10 12
7 9 15 20
>> size(z)
ans =
4 4
>> N = prod(size(z))
N =
16
>> z(:)
ans =
5
2
3
7
2
4
7
9
8
5
10
15
5
1
12
20
>> mean = sum(z(:)) / N
mean =
7.18750000000000
>>
注:在matlab中还有一个常用的函数length(), 其用来计算行矢量或者列矢量的元素个数。
三、计算信号能力和功率
相似的方式,计算信号x的能量,如下所示:
Ex = x(:)' * x(:)
或
Ex = sum(conj(x(:) .* x(:))
或
Ex = sum(abs(x(:)).^2)
代码实现如下:
>> x = [ 5
2
3
7
2
4
7
9
8
5
10
15
5
1
12
20
]
x =
5
2
3
7
2
4
7
9
8
5
10
15
5
1
12
20
>> Ex = x(:)' * x(:)
Ex =
1221
>> Ex = sum(conj(x(:)) .* x(:))
Ex =
1221
>> Ex = sum(abs(x(:)) .^2)
Ex =
1221
>>
四、平均功率的计算(每个样点的能量)计算方法如下:
Px = Ex / N
2级范数的计算为
xL2 = sqrt(Ex)
或
xL2 = norm(x)
1级范围为
xL1 = sum(abs(x))
或xL1 = norm(x, 1)
无限范数(切比雪夫范数)计算为:
xLInf = max(abs(x))
或
xLInf = norm(x, Inf)
通常, P级范数的计算为
xLp = norm(x, p)