声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1540|回复: 6

[编程技巧] 矩阵的扩展

[复制链接]
发表于 2008-7-3 16:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
如何将3*3的矩阵扩展成9*9的?
例如:[a1  b1  c1
           a2  b2  c2
           a3  b3  c3]扩展成如下矩阵:

[a1 b1 c1 0   0   0   0   0   0
0   0   0   a1 b1 c1 0   0   0
0   0   0   0   0   0   a1 b1 c1
a2  b2 c2 0   0   0   0   0   0
0    0   0   a2 b2 c2 0   0   0
0    0   0   0   0   0   a2 b2 c2
a3  b3 c3 0   0   0   0   0   0
0    0   0   a3 b3 c3 0   0   0
0    0   0   0   0   0   a3 b3 c3]

最好有命令,因为所处理的问题维数较大!
回复
分享到:

使用道具 举报

 楼主| 发表于 2008-7-3 17:30 | 显示全部楼层
怎么没人指导呢?是不是没有这种现成的扩展命令?
发表于 2008-7-3 18:12 | 显示全部楼层
想不到特别好的方法,以下code可以参考一下:
x=[1 2 3;4 5 6;7 8 9];
a=[1 0 0 ; 0 1 0; 0 0 1];
X=[kron(x,a(:,1)) kron(x,a(:,2)) kron(x,a(:,3))];

评分

1

查看全部评分

 楼主| 发表于 2008-7-3 20:13 | 显示全部楼层
就是这个思想,我自己再想想!谢谢帮忙!:@)
 楼主| 发表于 2008-7-7 11:29 | 显示全部楼层

补充

如何将3*3的矩阵扩展成9*9的?
例如:[a1  b1  c1
             a2  b2  c2
             a3  b3  c3]扩展成如下矩阵:

[a1  b1  c1  b1  0    0       c1    0   0
a2  b2  c2  0    b1  0       0      c1  0
a3  b3  c3  0    0    b1     0      0   c1
a2  0     0   a1  b1  c1     c2    0   0
0    a2   0   a2  b2  c2      0     c2   0
0    0     a2  a3  b3  c3     0     0     c2
a3  0     0    b3  0     0      a1   b1  c1     
0    a3   0      0   b3  0      a2   b2  c2      
0    0     a3    0   0    b3    a3   b3  c3]

最好有命令,因为所处理的问题维数较大
发表于 2008-7-7 14:45 | 显示全部楼层
clear;
a=[1 2 3; 4 5 6; 7 8 9];
b=[1 0 0; 0 1 0; 0 0 1];
c=tril(a,-1)+triu(a,1);
X=kron(b,a)+kron(c,b);

强烈要求你论文致谢我,:lol

评分

1

查看全部评分

 楼主| 发表于 2008-7-7 15:38 | 显示全部楼层
呵呵,谢谢啦!希望我这个算法能早日全部实现!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-19 12:08 , Processed in 0.051837 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表