sherri 发表于 2010-1-28 10:33

问一个线性方程组求解问题

变量为矩阵的线性方程组怎么求解,用求普通变量的线性方程组的方法好像不行,不知道系数矩阵怎么表示。如
x+2y+3z=s1
3x+7y+z=s2
x+y+5z=s3
其中x、y、z是变量矩阵,s1,s2,s3是三个常量矩阵,怎么求出矩阵x、y、z?

messenger 发表于 2010-1-28 12:22

这种情况只能将x、y、z中的变量都代入方程,用solve求解。因为你的s1,s2,s3不确定,所以很难判定三者之间的相互关系,因此很难求解。

ChaChing 发表于 2010-1-28 15:11

抱歉! 怕用词理解错误! 常量矩阵是否指已知常数矩阵?
若是的话, 就跟Ax=b求x的问题一样嘛!
初步考虑应有两种具体方式可达成

sherri 发表于 2010-1-28 16:51

s1,s2,s3是已知的常数矩阵。
不能象普通变量的方程Ax=b那样求解,因为系数矩阵是,而x,y,z都分别是32×32的矩阵。

ChaChing 发表于 2010-1-29 00:46

基本上, 假设x/y/z为m*n矩阵, 当然s1/s2/s3也是m*n矩阵, 所以共有2*m*n的未知数及等式, 有解!
举例说明m=3; n=2; x=; 其他类似
1.重新将x/y..改为6*1的向量, X=为18*1, b=为18*1, 三组等式即可重写为类似AX=b型式!
其中A=;为18*18的矩阵
2.或则将18个未知数分成6组, 个别都是AX=b型式!
其中A=; 第一组b=; 第二组b=; ...

个人水平有限, 不知有否说明白!

VibrationMaster 发表于 2010-1-29 08:29

A=;
B=
C=B/A;%Ok啦

sherri 发表于 2010-1-29 10:42

没明白“其中A=;为18*18的矩阵”。我想是不是要对系数矩阵A=进行扩展,否则无法利用AX=b进行求解。
另外第2种方法中的s1_11表示s1的第一行一列元素吗?

ChaChing 发表于 2010-1-29 14:45

回复 7楼 sherri 的帖子

忘了说明A=;中的I为6*6(m*n=6)单元矩阵
s1_11表示s1的第一行一列元素

晚上或明天若有空, 再举例试试!

friendchj 发表于 2010-1-30 05:04

以变量矩阵的元素为变量重新列方程组【和ChaChing老师的思路应是一致的,呵呵】,即可求解:clc
clear
% x+2y+3z=s1
% 3x+7y+z=s2
% x+y+5z=s3
s1=;
s2=;
s3=;
A=;
=size(s1);
x=zeros(m,n);
y=zeros(m,n);
z=zeros(m,n);
for i=1:m
    for j=1:n
      B=;
      c=A\B;
      x(i,j)=c(1);
      y(i,j)=c(2);
      z(i,j)=c(3);
    end
end结果:
>> x

x =

   -1.5000   -0.6667-27.3333
   21.1667   19.6667-11.5000

>> y

y =

    1.0000    1.3333   11.6667
   -8.3333   -7.3333    6.0000

>> z

z =

    0.5000    0.6667    3.3333
   -1.1667   -0.6667    1.5000
验证:
>> x+2*y+3*z

ans =

    2.0000    4.0000    6.0000
    1.0000    3.0000    5.0000

>> 3*x+7*y+z

ans =

    3.0000    8.0000    3.0000
    4.0000    7.0000    9.0000

>> x+y+5*z

ans =

    2.0000    4.0000    1.0000
    7.0000    9.0000    2.0000

[ 本帖最后由 friendchj 于 2010-1-30 05:09 编辑 ]

ChaChing 发表于 2010-1-30 23:12

不知道是否跟年龄有关, 现在真的有点懒实践想法, 还好friendchj实现验证了想法可行! 谢谢
friendchj的程式同我说的第二种方式! 第一种方式应该也可行, 只不过矩阵较大些, 但只需求解一次不必求解多次, 有兴趣者试试吧
还有楼主在本版的帖不少, 感觉互动嫌少些, 有空自己整理下, 可以与大家分享的, 尽量做个结束!
页: [1]
查看完整版本: 问一个线性方程组求解问题