如何提取出cell中具体数据 matlab

以上为一个289乘1的cell
其实每一个元素都是一个矩阵(如(1,1))
我现在想要将这289个矩阵内元素提取后对应相加,请问如何处理

直接对cell进行操作,不用提取。你这是个289*1的cell,每个cell里有182*24个元素,假设cell的名字叫a,你要提取第一行那个矩阵里的第一行,第一列的元素。使用a{1,1}(1,1)就可以了,以此类推都是一样的。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-02-26
直接对cell进行操作,不用提取。你这是个289*1的cell,每个cell里有182*24个元素,假设cell的名字叫a,你要提取第一行那个矩阵里的第一行,第一列的元素。使用a{1,1}(1,1)就可以了,以此类推都是一样的。本回答被网友采纳
第2个回答  2021-03-31
Cell是Matlab中的一种数据类型,概念和结构类似。用大括号定义,括号里可以是任意类型的数据或矩阵。

关于cell的创建:
1.跟一般创建矩阵一样,直接使用C = {A B D E}这种形式,不过这里把"[]“改成了”{}"

2.使用cell创建cell,C= {C1 C2},这里C1和C2都是cell类型,直接把C1 C2作为一个cell得到的C3是一个1x2的cell数组;使用C3 = [C1 C2],是使用C1和C2的内容来创建cell数组

3.使用cell函数,A=cell(2,2),创建一个空的2x2的cell矩阵.

关于cell的访问:
1.X= C(s)使用这种"()“形式的返回的是cell类
2.X = C{s}使用这种”{}"形式的返回的是cell中的内容
3.其他的基本上与通常的数组.矩阵访问一样了
4.A{1,1}(2,3:end)访问的是A中的第一个cell里面内容的第2行的第三个元素以后的所有元素
5.A{1,3}.name访问的是A中的A{1,3}cell里面结构的name值
6.cell的图形化显示使用命令cellplot(A)即可如B={[1;2]},这就定义了一个cell型的变量B,里面保存的是一个矩阵[1;2],要引用里面的数据只要在大括号里写上对应的下标即可,如B{1}。

下面我们给B再加个元素,我们可以这样定义B(2)={‘hello’}。也可以利用引用的方法定义B{2}=’hello’。第二种方法比第一种方法更方便所以更常用。

这样B就有两个元素了,B(1)是{[1;2]},B(2)是{‘hello’},每个元素都是cell型的
  (注意和B{1}、B{2}的区别,B{1}是[1;2],B{2}是’hello’
第3个回答  2014-03-21

% 前提:1.Nfs3为 dd*1 的元胞数组;

%       2.元胞数组的元素行列相等;

% R 为对应元素的总和


dd = length(Nfs3);
[mm,nn] = size(Nfs3{1,1});
R = zeros(mm,nn);
for k = 1:dd
    R = R+Nfs3{k,1};
end;
disp(R)

本回答被提问者和网友采纳
相似回答