matlab中double型的可以变成cell么??

就是想把huffcode里面的东东变成cell,不知道可以伐?自己试了试number2cell,不行哎,完全菜鸟,求指导... 就是想把huffcode里面的东东变成cell,不知道可以伐?自己试了试number2cell,不行哎,完全菜鸟,求指导 展开
 我来答
杨好巨蟹座
推荐于2017-09-21 · TA获得超过5万个赞
知道大有可为答主
回答量:6197
采纳率:80%
帮助的人:1327万
展开全部
我们有一个如下的cell数据

[plain] view plaincopy
cdata = {'1'
'11'
'111'
'1111'
'11111'};

现在要把他转变成double型的数组,很自然会想到的方法是cell2mat,可悲的是会遇到一个问题:

matlab要求每一行的数据长度要相同才行。
解决这个问题:
1、先把cell转变成char数组,在把他转变成数据类型。原理是转变成char之后的矩阵每行的长度是相同的。

[plain] view plaincopy
str2num(char(cdata))

2、使用cellfun函数,第一个参数传递对每个cell单元使用的函数名,第二个参数是cell名。

[plain] view plaincopy
cellfun(@str2num, cdata)
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
百度网友1c6e06f
推荐于2017-09-15 · TA获得超过2894个赞
知道小有建树答主
回答量:695
采纳率:66%
帮助的人:662万
展开全部
>> a = rand( 6, 1 )

a =

    0.2785
    0.5469
    0.9575
    0.9649
    0.1576
    0.9706

>> b = num2cell( a )

b = 

    [0.2785]
    [0.5469]
    [0.9575]
    [0.9649]
    [0.1576]
    [0.9706]

>> whos
  Name      Size            Bytes  Class     Attributes

  a         6x1                48  double              
  b         6x1               408  cell
追问

谢谢,回答但是

为什么我弄了就这样了啊,是我原来的程序写了什么影响了么

追答
这位朋友,是num2cell不是number2cell
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式