24小时热门版块排行榜    

查看: 1194  |  回复: 10
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

关月阑珊

木虫 (小有名气)

[求助] 大家能给看看这个方程属于什么类型,应该怎么求解?

求各位大神指点,我是工科的,这个方程是我模型之后推导出来的,需要解出x1,x2,x3,x4。但是有x1*x2和x1*x3的交叉项,这种应该怎么解决啊?

a11*x1 + a12*x2 + a13*x3 + a14*x4 + a15*x1*x2 + a16*x1*x3 = b1
a21*x1 + a22*x2 + a23*x3 + a24*x4 + a25*x1*x2 + a26*x1*x3 = b2
a31*x1 + a32*x2 + a33*x3 + a34*x4 + a35*x1*x2 + a36*x1*x3 = b3
a41*x1 + a42*x2 + a43*x3 + a44*x4 + a45*x1*x2 + a46*x1*x3 = b4

其中,x1,x2,x3,x4为未知数,其他参数已知
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

aaron1988

木虫 (正式写手)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
关月阑珊: 金币+2, ★★★很有帮助, 关于矩阵分解的这种方法我还没有往下深入,因为需要判断是否是非奇异矩阵。先谢谢先 2013-07-04 20:52:27
有解析解的。
令 x = [x1 x2 x3 x4]', b =[b1 b2 b3 b4]'; 那么只要 C = 方形矩阵 [a11 到 a44], A= 矩阵包涵[a15 到 a46]
你的上面方程就能写成x’ A x + 2Cx = b
这可以看成一个矩阵形式的一元2次方程(如果x是一维的话,上面就是ax^2+2cx=b)
接着用完全平方方式法:
x' A^(1/2)' A^(1/2)x +2Cx = b
=>  x' A^(1/2)' A^(1/2)x +2Cx + (A^(-1/2)C)'(A^(-1/2)C) = b+ (A^(-1/2)C)'(A^(-1/2)C) = b+C'A^(-1)C
(A必须是full rank,不然无解)
=> (A^(1/2)x+ A(-1/2)C)'(A^(1/2)x+A(-1/2)C)= b+C'A^(-1)C
令 y = (A^(1/2)x+A(-1/2)C) ;
那么 y'y = b+C'A^(-1)C
y = +/- (b+C'*A^(-1)*C)^1/2
x = A^(-1/2)*(-A^(-1/2)C +/- (b+C'*A^(-1)*C)^1/2)
(基本上是x=-b+/- sqrt(delta)/2a)

麻烦楼主自己推一下。
6楼2013-07-03 11:14:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 11 个回答

pippi6

铁杆木虫 (著名写手)

工程和科学数值计算咨询

【答案】应助回帖

★ ★ ★ ★
感谢参与,应助指数 +1
关月阑珊: 金币+4, ★★★★★最佳答案, 确实这样能做出来。过两天我可以把计算过程也放上来。先谢谢pipi6大神了 2013-07-04 20:50:48
试试newton法吧,很简单。令
f1=a11*x1 + a12*x2 + a13*x3 + a14*x4 + a15*x1*x2 + a16*x1*x3 - b1
f2=a21*x1 + a22*x2 + a23*x3 + a24*x4 + a25*x1*x2 + a26*x1*x3 - b2
f3=a31*x1 + a32*x2 + a33*x3 + a34*x4 + a35*x1*x2 + a36*x1*x3 - b3
f4=a41*x1 + a42*x2 + a43*x3 + a44*x4 + a45*x1*x2 + a46*x1*x3 - b4
A 是一个四阶矩阵
A=∂(f1,f2,f3,f4)/∂(x1,x2,x3,x4)=
[A11,A12,A13,A14]
[A21,A22,A23,A24]
[A31,A32,A33,A34]
[A41,A42,A43,A44]
给两个例子
A11=a11 + a15*x2 + a16*x3
A23=a23*x3 + a26*x1

然后求解线性方程组
A11*δx1 + A12*δx2 + A13*δx3 + A14*δx4 =-f1
A21*δx1 + A22*δx2 + A23*δx3 + A24*δx4 =-f2
A31*δx1 + A32*δx2 + A33*δx3 + A34*δx4 =-f3
A41*δx1 + A42*δx2 + A43*δx3 + A44*δx4 =-f4
然后迭代修正
x1=x1+δx1
x2=x2+δx2
x3=x3+δx3
x4=x4+δx4
记住,矩阵A在每次更新后要重新算
先给迭代初值 (0,0,0,0)试试。
你做完后会有成就感的
2楼2013-07-03 10:43:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

关月阑珊

木虫 (小有名气)

其实更重要的是想知道这个方程是属于那种类型,这种类型的方程的一般处理方法是什么。因为这个是想往论文里面放的。。。

自己给自己先沙发一个。。
3楼2013-07-03 10:45:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

关月阑珊

木虫 (小有名气)

引用回帖:
2楼: Originally posted by pippi6 at 2013-07-03 10:43:17
试试newton法吧,很简单。令
f1=a11*x1 + a12*x2 + a13*x3 + a14*x4 + a15*x1*x2 + a16*x1*x3 - b1
f2=a21*x1 + a22*x2 + a23*x3 + a24*x4 + a25*x1*x2 + a26*x1*x3 - b2
f3=a31*x1 + a32*x2 + a33*x3 + a34*x4  ...

我先看看,就找 《数值分析》看就可以了吧,我现在手里有一本 李庆阳的数值分析,第5版。
4楼2013-07-03 11:03:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见