[已答复] 各位大佬,请问如何求解这种高阶矩阵方程,小白技术太差,求各位大佬赐教

[复制链接]
Ewan123 发表于 2022-11-23 23:27:14
本帖最后由 Ewan123 于 2022-11-23 23:40 编辑

,求解【w】
各矩阵、向量的表达式如下



(E是单位矩阵)
(n=200)
(n=200)
(n=200)
(n=200)

(n=200)
其中σ-1= 49.54,σ201=  49.54
σ0到σ200(n=200,即σn=σ200)分别为
52.595
55.847
59.309
62.994
66.916
71.092
75.536
80.267
85.303
90.663
96.368
102.44
108.9
115.77
123.08
130.86
139.13
147.92
157.27
167.2
177.75
188.96
200.87
213.5
226.91
241.14
256.23
272.22
289.16
307.11
326.1
346.2
367.46
389.92
413.66
438.72
465.16
493.04
522.43
553.37
585.95
620.21
656.22
694.05
733.75
775.39
819.03
864.74
912.57
962.6
1014.9
1069.5
1126.5
1185.9
1247.8
1312.4
1379.5
1449.4
1522.1
1597.7
1676.3
1757.9
1842.8
1931
2022.7
2118.1
2217.5
2321
2429.1
2542.1
2660.5
2784.9
2916
3054.7
3202.1
3359.5
3528.5
3711.1
3909.7
4127.3
4367.3
4634.2
4933
5269.9
5651.8
6086.7
6583.4
7150.8
7797.4
8530
9351.7
10260
11243
12279
13335
14365
15317
16133
16760
17155
17290
17155
16760
16133
15317
14365
13335
12279
11243
10260
9351.7
8530
7797.4
7150.8
6583.4
6086.7
5651.8
5269.9
4933
4634.2
4367.3
4127.3
3909.7
3711.1
3528.5
3359.5
3202.1
3054.7
2916
2784.9
2660.5
2542.1
2429.1
2321
2217.5
2118.1
2022.7
1931
1842.8
1757.9
1676.3
1597.7
1522.1
1449.4
1379.5
1312.4
1247.8
1185.9
1126.5
1069.5
1014.9
962.6
912.57
864.74
819.03
775.39
733.75
694.05
656.22
620.21
585.95
553.37
522.43
493.04
465.16
438.72
413.66
389.92
367.46
346.2
326.1
307.11
289.16
272.22
256.23
241.14
226.91
213.5
200.87
188.96
177.75
167.2
157.27
147.92
139.13
130.86
123.08
115.77
108.9
102.44
96.368
90.663
85.303
80.267
75.536
71.092
66.916
62.994
59.309
55.847
52.595


6 条回复


cbcbcbcb 发表于 2022-11-24 14:37:52
试一下矩阵左除(超链接,自己进去看)吧,不过你这个矩阵有点大,应该是可以算出来的

Ewan123 发表于 2022-11-24 17:08:17
cbcbcbcb 发表于 2022-11-24 14:37
试一下矩阵左除(超链接,自己进去看)吧,不过你这个矩阵有点大,应该是可以算出来的 ...

201X201,只能一行一行慢慢输入吗

cbcbcbcb 发表于 2022-11-24 19:19:42
Ewan123 发表于 2022-11-24 17:08
201X201,只能一行一行慢慢输入吗

当然不用一行一行输了,用for循环直接形成矩阵。

Ewan123 发表于 2022-11-24 20:09:26
cbcbcbcb 发表于 2022-11-24 19:19
当然不用一行一行输了,用for循环直接形成矩阵。

老哥,还是不太会啊,不知道怎么做才能形成矩阵

TouAkira 发表于 2022-11-25 03:01:15
都是数值方法里典型三对角矩阵(TriDiagonal Matrix)、五对角矩阵(PentaDiagonal Matrix)。
最高效的方法是用  spdiags函数(超链接,自己点进去看) 直接生成稀疏矩阵。另一种比较直观易理解但效率略差的方法则是用若干对角矩阵叠加构造,参见《 如何输入一个指定阶数的矩阵(超链接,自己点进去看) 》。for循环(超链接) 当然也可行。所有这些方法,都远远比手动一行一行敲高效。已经是开始用计算机语言的人了,应当摒除“手动挨个敲”的想法了。

小磁石 发表于 2022-11-25 19:55:37
这两个矩阵用5楼说的两个方法做稀疏矩阵,然后修改一下头尾就好了。要不是因为试试这个没用过的函数,也懒得打代码。n = 201;
e = ones(n,1);
A1 = spdiags([e -4*e 6*e -4*e e],-2:2,n,n);
A2 = spdiags([e -2*e e],-1:1,n,n);
s1=full(A1);
s2=full(A2);



Q2用矩阵运算,能不用循环就不要用循环,比函数还复杂
Q2=x(1:n)-2*x(2:n+1)+x(3:n+2)


您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
相关文章
热门教程
站长推荐
快速回复 返回顶部 返回列表