声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1777|回复: 3

[编程技巧] Matlab元胞数组转换问题!!!

[复制链接]
发表于 2007-2-6 10:43 | 显示全部楼层 |阅读模式

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

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

x
一个元胞结构如下 test
['SD0001'] [12*11double] [21*11 double]
['SD0001'] [12*11double] [13*11 double]
['SD0001'] [12*11double] [15*11 double]
['SD0001'] [12*11double] [17*11 double]
这个元胞的数组第三列中的锯阵大小都是不相同的,
现在想把他们变成都是21*11的锯阵,补上的地方全部都是为0,因为要
统一的进行计算,哪位兄弟有什么好的办法,最好是一次性能够转换过来.
回复
分享到:

使用道具 举报

发表于 2007-2-6 11:25 | 显示全部楼层
原帖由 hqc949 于 2007-2-6 10:43 发表
一个元胞结构如下 test
  
  
  
  
这个元胞的数组第三列中的锯阵大小都是不相同的,
现在想把他们变成都是21*11的锯阵,补上的地方全部都是为0,因为要
统一的进行计算,哪位兄弟有什么好的办法,最好是一 ...



先按照目标大小申请全0的细胞矩阵,然后源矩阵复制过去(利用运算符:)
 楼主| 发表于 2007-2-6 16:39 | 显示全部楼层
兄弟 那是不行的 直接复值的话 比如说 [13*11 double]里的内容
直接给一个全0的[21*11 double] 值是可以过去 但大小也会变成[13*11 double]
发表于 2007-2-6 16:41 | 显示全部楼层
原帖由 hqc949 于 2007-2-6 16:39 发表
兄弟 那是不行的 直接复值的话 比如说 里的内容
直接给一个全0的 值是可以过去 但大小也会变成



我已经给你提示了,用运算符“:”,以下是普通矩阵(非元胞矩阵)的一个例子:


  1. A = ones(10,10);
  2. B = zeros(20,20);
  3. B(1:10, 1:10) = A;
复制代码

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-9-24 19:15 , Processed in 0.058740 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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