matlab 怎么把元胞数组取出来的内容放到一个新的矩阵

作者&投稿:许从 (若有异议请与网页底部的电邮联系)
Matlab怎么把元胞数组转化成矩阵~

把Matlab元胞数组转化成矩阵的操作步骤如下:
1、首先打开matlab,新建一个脚本,通过从数据库获取数据,data数据格式是元胞数组cell类型。

2、然后使用cell2mat()函数将元胞数组转换成矩阵,可以先在命令行窗口help cell2mat查看函数的使用方法,需要注意的是使用cell2mat函数,cell中的数据类型必须一致。

3、使用a=cell2mat(data);代码进行将data元胞数组转换成a矩阵类型。

4、最后运行脚本,可以看到已经将data类型转换成矩阵,这样把Matlab元胞数组转化成矩阵的问题就解决了。

假设A是209个元素的元胞数组,并且每个元素矩阵的行数相同。
B=[];
for n=1:length(A)
B=[B,A{n}(:,[1 end])];%我不知道你想怎么合并,我就按A{1}两列A{2}两列...A{n}两列这样的顺序合了,不是的话你自己改
end
如果每个元胞内的矩阵相同,则可如下处理
num=size(yourcell{1},2);
alldata=[yourcell{:}];
yourdata_1_209=alldata(:,mod((1:end),num)==1 | mod((1:end),num)==209)
yourdata_1_END=alldata(:,mod((1:end),num)==1 | mod((1:end),num)==0)

dp_image{i}, 注意是大括号,表示取 第 i 个 胞数据。
定义一个4维向量,最好 把 20 定义成 最后一维
dp_new = zeros(61,73,61,20); 然后赋值

每个单元都是相同维数的三维数组吗?可以用

permute(cat(4,dp_image{:}),[4 1 2 3])

举例:

>> c{1}=rand(3,4,5);
>> c{2}=rand(3,4,5);
>> size(permute(cat(4,c{:}),[4 1 2 3]))
ans =
     2     3     4     5



铁岭县19150532821: matlab 元胞数组怎么输出 -
韩毓丽芝: 貌似字符内容的元胞数组无法直接得出单词,因为长度不同,只能依次检索,不知道你怎么得出的结构这么复杂的元胞,建议你修改前面的数据结构,可尝试使用构架

铁岭县19150532821: 在matlab中怎么样输出元胞数组 -
韩毓丽芝: celldisp或者直接使用下标{ }

铁岭县19150532821: 如何使用MATLAB进行元胞数组批量提取数据? -
韩毓丽芝: 假设a是209个元素的元胞数组,并且每个元素矩阵的行数相同.b=[]; for n=1:length(a) b=[b,a{n}(:,[1 end])];%我不知道你想怎么合并,我就按a{1}两列a{2}两列...a{n}两列这样的顺序合了,不是的话你自己改 end

铁岭县19150532821: MATLAB 操作文本或元胞数组 提取数值 -
韩毓丽芝: 一般而言,如果是txt,导入里面有一个矩阵满足要求,txtread('test.txt')或者importdata('test.txt').然后在进行提取 将数据发往 carrot_hy2010@qq.com 附上你要提取的要求,我帮你试试 参考文献 http://wenku.baidu.com/view/2a500c8884868762caaed52c.html

铁岭县19150532821: matlab 怎么把元胞数组取出来的内容放到一个新的矩阵 -
韩毓丽芝: 每个单元都是相同维数的三维数组吗?可以用1permute(cat(4,dp_image{:}),[4 1 2 3]) 举例:1 2 3 4 5>> c{1}=rand(3,4,5); >> c{2}=rand(3,4,5); >> size(permute(cat(4,c{:}),[4 1 2 3])) ans =2 3 4 5

铁岭县19150532821: 如何在matlab取出方框内的数组元素 -
韩毓丽芝: 方框?这个是什么意思?MATLAB里数组可以看做一维向量 你直接取数就行了 比如 a=[1 2 3 4 5 6] b=a(1);%就取出了a的第一个数 以此类推

铁岭县19150532821: MATLAB中元胞数组去元素 -
韩毓丽芝: cella = {[1 2 3],[2 3 4]} arra = cella{1}直接取第一个元素不就行了么补充: 里面两个数组又用一个[]括起来了?那就变成一个数组了 如果B也是1192062*?的话就没问题 c = x{1}(:,1); %后面加个分号防止你数据太多自动显示出错导致崩溃 然后可以用size(c)看看得到的结果长度对不对

铁岭县19150532821: matlab中如何去掉元胞数组中的一个元胞 -
韩毓丽芝: 其实最简单的做法就是这个:比如你有一个这样的变量 a={1,2,3,4,5}; 用语句a(2) = []; 结果a是变成{1,3,4,5}.注意不要写成a{2} = [],这样结果a会变成{1,[],3,4,5}.

铁岭县19150532821: matlab 中一人元胞数组如何转化为相同的矩阵? -
韩毓丽芝: 我也有此问题 刚刚发现的方法:数值,字符,矩阵,元胞,数值:1 ,2, 3 字符:形如 '1','a','A' 矩阵:矩阵中的元素要求类相同,例如 数值矩阵[1 2 ; 3 4] 字符型矩阵['1' 'a';'A' '2' ] 如果字符型矩阵中包含数值,则数值为空...

铁岭县19150532821: 如何在matlab取出方框内的数组元素 例如:B = 【1 2 3 4 5; 10 9 8 7 6】,取出9和8 -
韩毓丽芝: B(2,2)=9 B(2,3)=8 或者B(4)=9 B(6)=8

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网