3QMM 发表于 2008-9-24 15:57

cell列向量如何转换成双精度列向量

帮忙解答一下,有什么命令可以使cell列向量如何转换成双精度列向量吗?
找了很久没有找到。
y=double(x)好像不行

[ 本帖最后由 3QMM 于 2008-9-24 16:01 编辑 ]

messenger 发表于 2008-9-24 16:22

循环,好象没别的好办法

又发现一处matlab不能矢量化的地方

3QMM 发表于 2008-9-24 16:53

是啊,刚才向别人请教好像只能用str2num循环。

sogooda 发表于 2008-9-24 21:23

试试这个函数cell2mat,下面是我做的一个小测试。
>> cc={1,2,3}
cc =
           
>> aa=cell2mat(cc)
aa =
   1   2   3
>> class(cc)
ans =
cell
>> class(aa)
ans =
double

sogooda 发表于 2008-9-24 21:24

matlab自带的帮助有一个更好的例子。


Combine the matrices in four cells of cell array C into the single matrix, M:
C = { ; }
C =
    [         1]   
       

C{1,1}                     C{1,2}
ans =                      ans =
   1                        2   3   4

C{2,1}                     C{2,2}
ans =                      ans =
   5                        6   7   8
   9                         10    11    12

M = cell2mat(C)
M =
   1   2   3   4
   5   6   7   8
   9    10    11    12

科技在线 发表于 2008-9-25 08:37

cell2struct 元胞数组转换为构架数组
str2double 串转换为双精度值
不过这个转化的可能不是列向量,没有试过

3QMM 发表于 2008-9-25 14:21

cell2mat确实可以一起转换,但用到我的数据不行,因为我的数据是['t=60,p=89';'85';'56';'84'.......]
如果全部是数据,没有第一行cell2mat是可以的,我是了一下,我得到是char类型,再用str2num才变为了double类型。

sigma665 发表于 2008-9-25 15:47

回复 7楼 3QMM 的帖子

把你的cell发上来

3QMM 发表于 2008-10-19 10:49

回复 8楼 sigma665 的帖子

数据有点保密性质,老师不让外传。不好意思。
页: [1]
查看完整版本: cell列向量如何转换成双精度列向量