matlab中double型的可以变成cell么??
就是想把huffcode里面的东东变成cell,不知道可以伐?自己试了试number2cell,不行哎,完全菜鸟,求指导...
就是想把huffcode里面的东东变成cell,不知道可以伐?自己试了试number2cell,不行哎,完全菜鸟,求指导
展开
2个回答
展开全部
我们有一个如下的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)
[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 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
展开全部
>> 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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |