| 查看: 1085 | 回复: 16 | |||
| 当前主题已经存档。 | |||
limengiiii银虫 (小有名气)
|
[交流]
【求助】MATLAB解矩阵方程
|
||
|
请教一个Matlab关于矩阵方程的问题 小弟近日一直在研究一个矩阵方程的MATLAB求解问题,百思不得其解,还请给位给点指示,问题描述如下: 方程形式为:(A+B*K)Z(A+B*K)'+(C+D*K)Z(C+D*K)'=a*Z 其中,A,B,C,D,K均为已知矩阵,Z为对称矩阵,a为一标量,目的是要求a的值 曾尝试用克罗内克积的形式来变换,但是处理不了对称矩阵的问题,还请各位多多指点!!! [ Last edited by bslt on 2009-6-23 at 14:33 ] |
» 猜你喜欢
有没有人能给点建议
已经有5人回复
假如你的研究生提出不合理要求
已经有12人回复
实验室接单子
已经有7人回复
全日制(定向)博士
已经有5人回复
萌生出自己或许不适合搞科研的想法,现在跑or等等看?
已经有4人回复
Materials Today Chemistry审稿周期
已经有4人回复
参与限项
已经有3人回复
对氯苯硼酸纯化
已经有3人回复
所感
已经有4人回复
要不要辞职读博?
已经有7人回复
vflag
木虫 (正式写手)
- 应助: 0 (幼儿园)
- 金币: 3411.6
- 散金: 500
- 帖子: 503
- 在线: 52.5小时
- 虫号: 785673
- 注册: 2009-06-03
- 性别: GG
- 专业: 信息理论与信息系统
2楼2009-06-22 22:21:59
vflag
木虫 (正式写手)
- 应助: 0 (幼儿园)
- 金币: 3411.6
- 散金: 500
- 帖子: 503
- 在线: 52.5小时
- 虫号: 785673
- 注册: 2009-06-03
- 性别: GG
- 专业: 信息理论与信息系统
3楼2009-06-23 09:37:51
limengiiii
银虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 465.2
- 帖子: 101
- 在线: 6.8小时
- 虫号: 741527
- 注册: 2009-04-06
- 性别: GG
- 专业: 控制理论与方法
4楼2009-06-23 10:01:06
limengiiii
银虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 465.2
- 帖子: 101
- 在线: 6.8小时
- 虫号: 741527
- 注册: 2009-04-06
- 性别: GG
- 专业: 控制理论与方法
5楼2009-06-24 20:39:01

6楼2009-06-27 19:40:30
limengiiii
银虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 465.2
- 帖子: 101
- 在线: 6.8小时
- 虫号: 741527
- 注册: 2009-04-06
- 性别: GG
- 专业: 控制理论与方法
7楼2009-06-28 15:50:23

8楼2009-06-29 21:48:57
limengiiii
银虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 465.2
- 帖子: 101
- 在线: 6.8小时
- 虫号: 741527
- 注册: 2009-04-06
- 性别: GG
- 专业: 控制理论与方法
9楼2009-06-30 09:15:46
★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
bslt(金币+2,VIP+0):感谢交流,欢迎常来。 8-7 19:12
bslt(金币+1,VIP+0):赞一个! 8-7 19:13
小木虫(金币+0.5):给个红包,谢谢回帖交流
bslt(金币+2,VIP+0):感谢交流,欢迎常来。 8-7 19:12
bslt(金币+1,VIP+0):赞一个! 8-7 19:13
|
矩阵都是dim*dim方阵时Matlab code: clc; clear; dim=10; A=rand(dim); B=rand(dim); C=rand(dim); D=rand(dim); K=rand(dim); S1=A+B*K; S2=C+D*K; %z不对称 for j=1:dim for i=1:dim for j1=1:dim for i1=1:dim I=(j-1)*dim+i; J=(j1-1)*dim+i1; M1(I,J)=S1(i,i1)*S1(j,j1)+ S2(i,i1)*S2(j,j1); end end end end %z对称 M2=M1; col=[]; for j=1:dim for i=1:j-1 M2(:,(i-1)*dim+j)=M1(:,(i-1)*dim+j)+M1(:,(j-1)*dim+i); col=[col (j-1)*dim+i]; end end M2(:,col)=[]; M3=M2; row=[]; for j=1:dim for i=1:j-1 M3((i-1)*dim+j, =(M2((i-1)*dim+j, +M2((j-1)*dim+i, )/2;row=[row (j-1)*dim+i]; end end M3(row, =[];a=eig(M3); disp('a=') disp(a) M3 就是在z对称时7楼所说的的M. a是你要的结果. 没推出向量表示,所以当dim很大时比较慢, 如要做大型问题, 将所有for循环部分改成mex文件. 你算几个特殊的试试对不对 |
10楼2009-08-04 20:47:19












回复此楼
=(M2((i-1)*dim+j,