初学者007 发表于 2010-4-12 17:23

求解det([h-I]2*2)=0

已知:
h=[28.61031789247    -28.89049270091    3599.14530104906;
   -14.77850691994   14.92324472504   -1859.13590304261;
   -0.02616072627      -0.02758480103   56.52067419820];
I=;
并且:det(2*2)=0 其中2*2表示矩阵的任意一个2*2阶子矩阵
问:怎么求解f(matlab代码)

[ 本帖最后由 ChaChing 于 2010-4-19 14:38 编辑 ]

maigicku 发表于 2010-4-13 16:56

LZ想要的结果是一个f值么?还是每2*2矩阵算出一个f值?每2*2矩阵得到一个f值如下所示:

clear;clc
syms f
h=[28.61031789247    -28.89049270091    3599.14530104906;
   -14.77850691994   14.92324472504   -1859.13590304261;
   -0.02616072627      -0.02758480103   56.52067419820];

l=; a=h-l;
a1=a(1:2,1:2); a2=a(1:2,2:3);
a3=a(2:3,1:2); a4=a(2:3,2:3);
f1=solve(det(a1)); f2=solve(det(a2)); f3=solve(det(a3)); f4=solve(det(a4));

不知是不是LZ想要的。。

[ 本帖最后由 ChaChing 于 2010-4-13 20:58 编辑 ]

ChaChing 发表于 2010-4-13 20:57

个人水平专业有限, 真的看不清楼主说的
若如2F所说, 尚缺a(1:2,),a(2:3,),a(,1:2),a(,2:3),a(,)
但明显无一f值可以满足所有任意一个2*2阶子矩阵det=0!

初学者007 发表于 2010-4-14 16:44

回复 沙发 maigicku 的帖子

你的方法求解的f是单个的,每次都不相等。这个问题我已经解决,大家一块分享:
思路:det(2*2)=0 其中2*2表示矩阵的任意一个2*2阶子矩阵,其中2*2有9个2*2阶子矩阵;6个为f的一次函数,3个为f的二次函数(这里不用):
A=;
B=[h(1,3)*h(2,2)-h(1,2)*h(2,3);h(1,1)*h(2,3)-h(1,3)*h(2,1);
   h(2,2)*h(3,1)-h(2,1)*h(3,2);   h(2,1)*h(3,3)-h(2,3)*h(3,1);
   h(1,1)*h(3,2)-h(1,2)*h(3,1);   h(1,2)*h(3,3)-h(3,2)*h(1,3)];
f=A\B;

[ 本帖最后由 ChaChing 于 2010-4-19 13:10 编辑 ]

ChaChing 发表于 2010-4-15 00:16

看完LZ的解法, 有点了解LZ要什么了!
看来我跟maigicku都误解LZ在1F, "det(2*2)=0 其中2*2表示矩阵的任意一个2*2阶子矩阵"的含义了!?

初学者007 发表于 2010-4-19 09:44

回复 5楼 ChaChing 的帖子

不好意思,可能是我的问题,帖子写的很草,很让人费解,见谅!
页: [1]
查看完整版本: 求解det([h-I]2*2)=0