[已解决] 两个矩阵方程怎么求解

[复制链接]
Zero_IpIZu 发表于 2021-11-2 20:39:20
F1=A11.*V1+A12.*V2;
F2=A21.*V1+A22.*V2;
[V1 V2]=solve(A11.*V1+A12.*V2-F1==0,A21.*V1+A22.*V2-F2==0);
其中A11,A12,A21,A22,都是已知n*n矩阵,F1和F2是已知N*1矩阵;求V1和V2,V1和V2都是n个变量,代码怎么写啊,直接用Slove不行

最佳答案


TouAkira 发表于 2021-11-3 09:52:14
Zero_IpIZu 发表于 2021-11-2 20:20
inv是逆矩阵,这个应该是[V1;V2]=inv([A11,A12;A21,A22])*[F1;F2]吧。但是因为我要得到的是单独的V1,V2 ...

我发帖时粘贴串位了, [ V1; V2 ] = inv( A ) * [ F1; F2 ]
但是这只是表示计算关系,代码不能这么写,要用中间变量过渡,写成
tempV = inv( [ A11, A12; A21, A22 ] ) * [ F1; F2 ]
V1 = tempV( 1 : 1 : numel( tempV )/2, 1 )
V2 = tempV( numel( tempV )/2 + 1 : 1 : end, 1 )

4 条回复


TouAkira 发表于 2021-11-2 21:55:34
这就是个简单的方阵与列向量之积呗。
[ A11, A12; A21, A22 ] * [ V1; V2 ] == [ F1; F2 ]
一般意义上的解,直接根据线性代数知识
[ F1; F2 ] = inv( [ A11, A12; A21, A22 ] ) * [ V1; V2 ]

Zero_IpIZu 发表于 2021-11-3 08:20:38
TouAkira 发表于 2021-11-2 21:55
这就是个简单的方阵与列向量之积呗。
[ A11, A12; A21, A22 ] * [ V1; V2 ] == [ F1; F2 ]
一般意义上的解 ...

inv是逆矩阵,这个应该是[V1;V2]=inv([A11,A12;A21,A22])*[F1;F2]吧。但是因为我要得到的是单独的V1,V2,这样话又有错误了,下面这样说的
错误: 文件: can.m 行: 149 列: 2
多个左侧必须用逗号隔开。

TouAkira 发表于 2021-11-3 09:52:14
Zero_IpIZu 发表于 2021-11-2 20:20
inv是逆矩阵,这个应该是[V1;V2]=inv([A11,A12;A21,A22])*[F1;F2]吧。但是因为我要得到的是单独的V1,V2 ...

我发帖时粘贴串位了, [ V1; V2 ] = inv( A ) * [ F1; F2 ]
但是这只是表示计算关系,代码不能这么写,要用中间变量过渡,写成
tempV = inv( [ A11, A12; A21, A22 ] ) * [ F1; F2 ]
V1 = tempV( 1 : 1 : numel( tempV )/2, 1 )
V2 = tempV( numel( tempV )/2 + 1 : 1 : end, 1 )
回复此楼

Zero_IpIZu 发表于 2021-11-3 11:39:43
TouAkira 发表于 2021-11-3 09:52
我发帖时粘贴串位了, [ V1; V2 ] = inv( A ) * [ F1; F2 ]
但是这只是表示计算关系,代码不能这么写,要 ...

好的,解决了~感谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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