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

矩阵转数组 元素重排的问题简化

[复制链接]
发表于 2012-11-28 22:06:08 | 显示全部楼层 |阅读模式 来自 山西太原
悬赏10仿真币已解决
我的程序如下:
M=[-0.5566 -0.000519
-0.5624 -0.000524
-0.5681 -0.000525
-0.5738 -0.000533
-0.5795 -0.000541
-0.0018 -0.556651
-0.0019 -0.562435
-0.0014 -0.568173
-0.0023 -0.573863
-0.0019 -0.579507];
CELL_tot=mat2cell(M, [5 5], [1 1]);
for ii=1:5
         CELL{ii,1}=[CELL_tot{1}(ii,1) CELL_tot{3}(ii,1);CELL_tot{2}(ii,1) CELL_tot{4}(ii,1)];
    end
上边程序运行没有问题,就是把矩阵M中元素重排一下放到一系列数组里,如CELL{1,1}对应的元素为 M(1,1) M(1,2);M(6,1) M(6,2),  我的问题是能不能不用for循环实现这一过程,谢谢。

最佳答案

查看完整内容

这样即可,数字按你实际情况做相应调整。
发表于 2012-11-28 22:06:09 | 显示全部楼层 来自 北京
Simdroid开发平台
  1. reshape([CELL_tot{:}]',2,2,5)
复制代码
这样即可,数字按你实际情况做相应调整。
回复

使用道具 举报

 楼主| 发表于 2012-12-1 10:52:23 | 显示全部楼层 来自 山西太原
rocwoods 发表于 2012-11-28 22:06
这样即可,数字按你实际情况做相应调整。

不好意思 再麻烦一下  reshape之后能否还形成原来for循环中的对应关系,即M中元素按四个一组,分配到CELL中

点评

不用那样,reshape之后是个三维矩阵,每一页对应的就是你原来CELL中的每一个单元。不必再做无所谓的数据转换了。  发表于 2012-12-3 13:56
回复

使用道具 举报

 楼主| 发表于 2012-12-3 19:31:49 | 显示全部楼层 来自 山西太原
rocwoods 发表于 2012-11-28 22:06
这样即可,数字按你实际情况做相应调整。

非常感谢
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 20:38 , Processed in 0.032615 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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