找回密码
 注册
Simdroid-非首页
查看: 63|回复: 3

matlab 将几个小矩阵组装到一个大矩阵的对角线上

[复制链接]
发表于 2012-8-14 15:56:27 | 显示全部楼层 |阅读模式 来自 澳门
matlab 将几个小矩阵组装到一个大矩阵的对角线上
eg:
A =
     1     2
     1     2

B =
     3     4
     3     4
C = 1    2     0      0
      1    2     0      0
      0    0     3      4
      0    0     3      4];
现在想得到C,有没有比较好的命令,可以比较方便,如果小矩阵比较多的话,就很麻烦了,谢谢呀
发表于 2012-8-14 17:27:31 | 显示全部楼层 来自 英国
Simdroid开发平台
C=blkdiag(A,B);
回复 不支持

使用道具 举报

 楼主| 发表于 2012-8-15 09:58:59 | 显示全部楼层 来自 澳门
nwcwww 发表于 2012-8-14 17:27
C=blkdiag(A,B);

大侠,无比膜拜,大谢大谢呀!!!:):)
回复 不支持

使用道具 举报

发表于 2012-8-15 11:35:51 | 显示全部楼层 来自 北京
走木大 发表于 2012-8-15 09:58
大侠,无比膜拜,大谢大谢呀!!!
  1. A = cell(100,1);
  2. for k = 1:100;A{k} = rand(3);end
  3. A{1} = sparse(A{1});
  4. B = blkdiag(A{:});
复制代码
当这样的小矩阵成千上万时,用稀疏矩阵+cell+blkdiag。

点评

稀疏矩阵无论是从时间还是从空间上,都是最佳选择  发表于 2012-8-16 10:32

评分

1

查看全部评分

回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-2 02:45 , Processed in 0.032286 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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