EE263 Homework 6

课程主页:https://see.stanford.edu/Course/EE263

这次回顾EE263作业6。

9.9

(a)

递推

得到

所以收敛情形和$A$的特征值有关。

当$\gamma =3$时,特征值的绝对值都小于$1$,所以无条件收敛;当$\gamma= 5$时,有一个特征值的绝对值大于$1$,所以可能会发散。

计算代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
import numpy as np

A = np.array([
[0, 0.2, 0.1],
[0.05, 0, 0.05],
[0.1, 1/30, 0]])
res = np.linalg.eigvals(A)

#gamma=3
print(res * 1.2 * 3)

#gamma=5
print(res * 1.2 * 5)
1
2
[ 0.60848571 -0.36       -0.24848571]
[ 1.01414284 -0.6 -0.41414284]

(b)回顾

假设$\Lambda^{-1} G -I_n$的特征值为$\lambda_i$,那么$A$的特征值为$\alpha \gamma \lambda_i $,记绝对值最大的$\lambda_i $为$\lambda_{\max}$,由之前讨论可得,

10.5

(a)设$\lambda_ i $对应的特征向量为$v_i$,那么

因此

所以$e^{A}$的特征值为$\lambda_i $

(b)由(a)可得

10.6

方程的解为

通过程序计算得到$e^A,e^{2A}$:

1
2
3
4
5
A = np.array([
[0.5, 1.4],
[-0.7, 0.5]])

print(expm(A))
1
2
[[ 0.90470626  1.94925032]
[-0.97462516 0.90470626]]
1
print(expm(2 * A))
1
2
[[-1.081295    3.52699794]
[-1.76349897 -1.081295 ]]

假设

那么由条件可得

目标是判断以下两个式子的符号

通过画图不难得出

10.8

(a)

(b)

(c)$\forall \lambda_i$对应的特征向量$v_i $,那么

(d)

10.14

(a)计算特征值即可

1
2
% (a)
eig(A)
1
2
3
4
5
ans =
-0.1000 + 5.0000i
-0.1000 - 5.0000i
-0.1500 + 7.0000i
-0.1500 - 7.0000i

因为实部都是负数,所以稳定

(b)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
%(b)
sys = ss(A, [], [], []);
x0 = [1; 1; 1; 1];
[y,t,x] = initial(sys, x0);
for i = 1: 4
figure(i);
plot(x(:, i));
end

x0 = rand(4, 1);
[y,t,x] = initial(sys, x0);
for i = 1: 4
figure(i + 4);
plot(x(:, i));
end

(c)

1
2
%(c)
expm(15 * A)
1
2
3
4
5
ans =
0.2032 -0.0068 -0.0552 -0.0708
0.0340 0.0005 -0.0535 0.1069
0.0173 0.1227 0.0270 0.0616
0.0815 0.0186 0.1151 0.1298

(d)

1
2
%(d)
expm(- 20 * A)
1
2
3
4
5
ans =
6.2557 3.3818 1.7034 2.2064
-2.1630 -2.8107 -14.2950 12.1503
-3.3972 17.3931 -1.6257 -2.8004
-1.7269 -6.5353 10.7081 2.9736

(e)$Z$的元素较小,$Y$的元素较大

(f)使用下式子计算即可

对应代码为

1
2
3
%(e)
x10 = [1; 1; 1; 1];
expm(10 * A) \ x10
1
2
3
4
5
ans =
3.9961
1.0650
3.8114
1.7021

11.3

假设$A$可对角化,即

那么

11.6a

转移规则对应的矩阵为

记$B^{(k)}=A^k$,那么$B^{(k)}_{ij}$表示以$j$开头,$i$结尾的长度为$k+1$的语言数量,所以

接着计算$A^k$即可,注意此时$A$的特征值不相同,所以$A$相似于对角阵,即

那么

假设$\lambda_1 =\max \{|\lambda_i|\}$,那么

因此

利用计算机得到结果为

1
0.8113704627516485

对应代码为

1
2
3
4
5
6
7
8
9
10
11
import numpy as np

A = np.array([
[0, 0, 1, 0, 1],
[1, 1, 0, 1, 0],
[1, 0, 0, 0, 1],
[0, 0, 0, 1, 0],
[0, 1, 0, 1, 0]], dtype=np.float64)

res = np.linalg.eigvals(A)
print(np.log2(np.max(np.abs(res))))

对于需要比较的情形,此时

注意到

因此

因此

本文标题:EE263 Homework 6

文章作者:Doraemonzzz

发布时间:2019年06月29日 - 13:08:00

最后更新:2019年06月29日 - 13:08:13

原始链接:http://doraemonzzz.com/2019/06/29/EE263 Homework 6/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。