由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Physics版 - 请教高手,如何求解矩阵方程?
相关主题
一个/组哈密顿运动方程的求解诺奖--化学渗透耦合理论
问个问题:知道 偏微分方程 和 matlab 的请帮忙 (转载)问一个基础的分布收敛问题,谢谢!
啥叫重整化和重整化群方程的现代解释考考你们这帮学物理的
现在超弦做的啥样子了?(转):既发散又收敛的无穷级数
Can some big guys talking about Dynamical Mean-field Theory[李淼]弦论通俗演义(二) xiphoid
解Hamiltonian Equation用什么软件请教Matlab高手
怎样理解电磁场中的vector potential A??问个开普勒椭圆轨道方程的问题
民科问一个波粒二象性的问题求助,这样的问题怎么处理
相关话题的讨论汇总
话题: x2话题: matlab话题: 方程话题: 万分话题: 迭代
进入Physics版参与讨论
1 (共1页)
f*******8
发帖数: 149
1
请问如何求解下面这个矩阵方程?
AX^2+BX+C=0
其中,A,B,C,X和0都是4×4的矩阵。
请问可以用Matlab求解吗?如何使用呢?
万分感谢!
m**********e
发帖数: 12525
2
数学上对这类方程,一般先求其resolvent,不知道中国话该叫啥,
类似物理学里面的Green's function
具体过程这里说起来太复杂,你自己去图书馆找本书瞧瞧

【在 f*******8 的大作中提到】
: 请问如何求解下面这个矩阵方程?
: AX^2+BX+C=0
: 其中,A,B,C,X和0都是4×4的矩阵。
: 请问可以用Matlab求解吗?如何使用呢?
: 万分感谢!

q*d
发帖数: 22178
3
naively构造一个迭代:
Xn+1=-B^(-1)[AXn^2+C]
迭代求解

【在 f*******8 的大作中提到】
: 请问如何求解下面这个矩阵方程?
: AX^2+BX+C=0
: 其中,A,B,C,X和0都是4×4的矩阵。
: 请问可以用Matlab求解吗?如何使用呢?
: 万分感谢!

m**********e
发帖数: 12525
4
非线性函数的迭代法对初值敏感,收敛域很小,况且还是4个变量的,
所以你这方法基本上只有理论价值

【在 q*d 的大作中提到】
: naively构造一个迭代:
: Xn+1=-B^(-1)[AXn^2+C]
: 迭代求解

q*d
发帖数: 22178
5
写个matlab程序不超过20行,试试就知道了

【在 m**********e 的大作中提到】
: 非线性函数的迭代法对初值敏感,收敛域很小,况且还是4个变量的,
: 所以你这方法基本上只有理论价值

m**********e
发帖数: 12525
6
我玩了好几年了,这类迭代法对多变量的复杂方程组完全没使用价值

【在 q*d 的大作中提到】
: 写个matlab程序不超过20行,试试就知道了
q*d
发帖数: 22178
7
那我倒真是没真的试过,既然这个方法很容易实现,我会不介意先试试

【在 m**********e 的大作中提到】
: 我玩了好几年了,这类迭代法对多变量的复杂方程组完全没使用价值
x******i
发帖数: 3022
8

不妨先试一下最简单的情况,比如B=0

【在 q*d 的大作中提到】
: 那我倒真是没真的试过,既然这个方法很容易实现,我会不介意先试试
m**********e
发帖数: 12525
9
这方程的问题是,未知矩阵包含4个变量,数值计算的时候
分解成四个耦合方程,由于右边存在2次项,所以最后这四
个方程右边会有几个耦合的2次项,这使得迭代方程存在多
个极点,所以实际操作上,要让4个变量同时收敛,初值怎么
选择是件非常麻烦的事情
迭代法收敛快,精度高.但是初值的选取对最后是否收敛影响
巨大,特别是对这种复杂的耦合方程组,除非你大致已经知道
解的正确范围,否则基本上没啥用处,纯属浪费时间.

【在 x******i 的大作中提到】
:
: 不妨先试一下最简单的情况,比如B=0

q*d
发帖数: 22178
10
刚才大概试了一下,发现你说的似乎不太对.
对迭代:Xn+1=-B^(-1)*(A*X^2+C),A,B,C都由matlab随机生成,
A= 0.9501 0.8913 0.8214 0.9218
0.2311 0.7621 0.4447 0.7382
0.6068 0.4565 0.6154 0.1763
0.4860 0.0185 0.7919 0.4057
B^(-1)= 0.0935 0.0058 0.0139 0.0272
0.0917 0.0353 0.0203 0.0199
0.0410 0.0813 0.0199 0.0015
0.0894 0.0010 0.0604 0.0747
C= 0.4451 0.8462 0.8381 0.8318
0.9318 0.5252

【在 m**********e 的大作中提到】
: 这方程的问题是,未知矩阵包含4个变量,数值计算的时候
: 分解成四个耦合方程,由于右边存在2次项,所以最后这四
: 个方程右边会有几个耦合的2次项,这使得迭代方程存在多
: 个极点,所以实际操作上,要让4个变量同时收敛,初值怎么
: 选择是件非常麻烦的事情
: 迭代法收敛快,精度高.但是初值的选取对最后是否收敛影响
: 巨大,特别是对这种复杂的耦合方程组,除非你大致已经知道
: 解的正确范围,否则基本上没啥用处,纯属浪费时间.

相关主题
解Hamiltonian Equation用什么软件诺奖--化学渗透耦合理论
怎样理解电磁场中的vector potential A??问一个基础的分布收敛问题,谢谢!
民科问一个波粒二象性的问题考考你们这帮学物理的
进入Physics版参与讨论
m**********e
发帖数: 12525
11
这个看具体情况吧
另外你确定解只有一个?怎么判断有几个解?如果有超过一个解,第二个怎么求?
用一个1维的情况来说明这个经典的不动点问题,看图,你这迭代可以沿1走,也
可以沿2走,一个收敛,一个不收敛,具体就取决你的初值是否在收敛域,另外这
个方法也无法解决多个解的问题(如图上,还有一个解怎么求?)

【在 q*d 的大作中提到】
: 刚才大概试了一下,发现你说的似乎不太对.
: 对迭代:Xn+1=-B^(-1)*(A*X^2+C),A,B,C都由matlab随机生成,
: A= 0.9501 0.8913 0.8214 0.9218
: 0.2311 0.7621 0.4447 0.7382
: 0.6068 0.4565 0.6154 0.1763
: 0.4860 0.0185 0.7919 0.4057
: B^(-1)= 0.0935 0.0058 0.0139 0.0272
: 0.0917 0.0353 0.0203 0.0199
: 0.0410 0.0813 0.0199 0.0015
: 0.0894 0.0010 0.0604 0.0747

q*d
发帖数: 22178
12
我靠,这种狗啃一样图你是拿脚画的吧?
太不给面子了,我拒绝回答你的问题!

【在 m**********e 的大作中提到】
: 这个看具体情况吧
: 另外你确定解只有一个?怎么判断有几个解?如果有超过一个解,第二个怎么求?
: 用一个1维的情况来说明这个经典的不动点问题,看图,你这迭代可以沿1走,也
: 可以沿2走,一个收敛,一个不收敛,具体就取决你的初值是否在收敛域,另外这
: 个方法也无法解决多个解的问题(如图上,还有一个解怎么求?)

x******i
发帖数: 3022
13

恩,少说也有16个解.

【在 m**********e 的大作中提到】
: 这个看具体情况吧
: 另外你确定解只有一个?怎么判断有几个解?如果有超过一个解,第二个怎么求?
: 用一个1维的情况来说明这个经典的不动点问题,看图,你这迭代可以沿1走,也
: 可以沿2走,一个收敛,一个不收敛,具体就取决你的初值是否在收敛域,另外这
: 个方法也无法解决多个解的问题(如图上,还有一个解怎么求?)

f*******8
发帖数: 149
14
万分谢谢大家的帮助。
这里
A=[ 1.0000 0 0.1000 0
0.4664 1.4449 1.4241 -0.2185
0.2250 0.1654 1.1701 -0.0250
0 0 0 0]
B=-I
C=[ 0 0 0 0
0.0005 -0.0005 0 -0.0091
0.0017 -0.0015 0 -0.0297
-0.0586 0.0509 0 1.0005]
请问在这种情况下,X的解是什么呢?以及如何求得解的呢?
再次万分感谢!
f*******8
发帖数: 149
15
请问qed (鸟瞰红尘),能告诉我你的matlab code吗?
万分感谢!

【在 q*d 的大作中提到】
: 刚才大概试了一下,发现你说的似乎不太对.
: 对迭代:Xn+1=-B^(-1)*(A*X^2+C),A,B,C都由matlab随机生成,
: A= 0.9501 0.8913 0.8214 0.9218
: 0.2311 0.7621 0.4447 0.7382
: 0.6068 0.4565 0.6154 0.1763
: 0.4860 0.0185 0.7919 0.4057
: B^(-1)= 0.0935 0.0058 0.0139 0.0272
: 0.0917 0.0353 0.0203 0.0199
: 0.0410 0.0813 0.0199 0.0015
: 0.0894 0.0010 0.0604 0.0747

q*d
发帖数: 22178
16
在matlab里输入A,B,C以后,
>> x1=0;
>> for i=1:100
x2=-B^(-1)*(A*x1^2+C);
x1=x2;
end
>> x2
x2 =
0.0168932001720534 -0.0146724813693576 0 -0.28841574243605
0.551762789498471 -0.479295778417119 0 -9.42074873360064
0.144939981452559 -0.125910173019498 0 -2.47522039584557
-0.0586 0.0509 0 1.0005
回代了一下,似乎算是一个解了吧:
>> A*x2^2+B*x2+C
ans =
1.38777878078145e-017 -6.93889390390723e-018
0 -5.55111512312578e-017


【在 f*******8 的大作中提到】
: 请问qed (鸟瞰红尘),能告诉我你的matlab code吗?
: 万分感谢!

f*******8
发帖数: 149
17
高手啊!我运行了一下,非常的快!
太开心了!
真是非常非常感谢你!
祝你万事如意!

【在 q*d 的大作中提到】
: 在matlab里输入A,B,C以后,
: >> x1=0;
: >> for i=1:100
: x2=-B^(-1)*(A*x1^2+C);
: x1=x2;
: end
: >> x2
: x2 =
: 0.0168932001720534 -0.0146724813693576 0 -0.28841574243605
: 0.551762789498471 -0.479295778417119 0 -9.42074873360064

f*******8
发帖数: 149
18
不好意思,我又碰到两个新的问题了:
1. 当我用matlab检验是否||B^(-1)*A||<1 & ||B^(-1)*C||<1时,发现
norm(B^(-1)*A)=2.3485>1 & norm(B^(-1)*C)=1.0004>1
这样一来,上诉条件就不符合了,就不收敛了。这与求得的解就矛盾了。
所以请问,||是否代表F norm呢?
如果是,请问到底该用什么条件判断是否收敛呢?
万分感谢!
2. 如果保持B,C不变,但是A变化成为:
A=[ 1.0000 0 -0.1000 0
0.4664 1.4449 -1.4241 -0.2185
0.2250 0.1654 0.8099 -0.0250
0 0 0 0]
那么上述迭代法就无法求得解了。
请问在这种情况下,方程是否有解呢?如果有,该怎样求解呢?
多谢帮助!

【在 q*d 的大作中提到】
: 在matlab里输入A,B,C以后,
: >> x1=0;
: >> for i=1:100
: x2=-B^(-1)*(A*x1^2+C);
: x1=x2;
: end
: >> x2
: x2 =
: 0.0168932001720534 -0.0146724813693576 0 -0.28841574243605
: 0.551762789498471 -0.479295778417119 0 -9.42074873360064

m**********e
发帖数: 12525
19
唉,你真是个crying baby
qed你老再做一次奶爸吧

【在 f*******8 的大作中提到】
: 不好意思,我又碰到两个新的问题了:
: 1. 当我用matlab检验是否||B^(-1)*A||<1 & ||B^(-1)*C||<1时,发现
: norm(B^(-1)*A)=2.3485>1 & norm(B^(-1)*C)=1.0004>1
: 这样一来,上诉条件就不符合了,就不收敛了。这与求得的解就矛盾了。
: 所以请问,||是否代表F norm呢?
: 如果是,请问到底该用什么条件判断是否收敛呢?
: 万分感谢!
: 2. 如果保持B,C不变,但是A变化成为:
: A=[ 1.0000 0 -0.1000 0
: 0.4664 1.4449 -1.4241 -0.2185

R*********r
发帖数: 1855
20
这种方程一般都是有无穷多个解的。
比方最简单的,A=C=0,B不可逆,方程BX=0有无穷多个解。
A=-C=I,B=0,方程X^2=I也有无穷多个解。
1 (共1页)
进入Physics版参与讨论
相关主题
求助,这样的问题怎么处理Can some big guys talking about Dynamical Mean-field Theory
请教一个普通物理问题解Hamiltonian Equation用什么软件
请问latex问题: 方程内怎么开始新的一行?怎样理解电磁场中的vector potential A??
几何问题求助(转贴)民科问一个波粒二象性的问题
一个/组哈密顿运动方程的求解诺奖--化学渗透耦合理论
问个问题:知道 偏微分方程 和 matlab 的请帮忙 (转载)问一个基础的分布收敛问题,谢谢!
啥叫重整化和重整化群方程的现代解释考考你们这帮学物理的
现在超弦做的啥样子了?(转):既发散又收敛的无穷级数
相关话题的讨论汇总
话题: x2话题: matlab话题: 方程话题: 万分话题: 迭代