matlabcell存储for
㈠ matlab cell for 循环中问题
第六行的=改成==,就可以了!你试试看!
㈡ matlab cell和for,while循环的问题
A = cell(2,1)
for k = 1:2
A{k,1} = '123';
end
这个程序没问题。也许你是看到运行后显示:
A =
[]
[]
但这是第一行A = cell(2,1)的结果。运行完以后A确实是
['123']
['123']
㈢ MATLAB把数据存入cell,改错:s=[1,2;4,0;4 5;2,6;]; for s1=1:3 [s4,s5]=find(s==s1); s3{s1,:}=s4; end
我运行是正常的,不知道你运行时到底是出了什么错误。估计是你代码没有分行?
s=[1,2;4,0;45;2,6;];
fors1=1:3
[s4,s5]=find(s==s1);
s3{s1,:}=s4;
end
如果是功能上的错误,你就需要描述你要实现的功能,别人是不容易猜出来你想用这代码实现什么功能。
㈣ matlab的cell语句
使用方法 c = cell(n) 创建n*n个空矩阵的元胞数组。如果参数n不是标量,就会报错。 c = cell(m, n)或c = cell([m, n]) 创建m*n个空矩阵的元胞数组。参数m和n必须为标量。 c = cell(m, n, p,...)或c = cell([m n p ...]) 创建m*n*p*...个空矩阵的元胞数组,参数m,n,p,...必须为标量。 《Simulink与信号处理》 c = cell(size(A)) 创建一个元胞数组,它包含与矩阵A同维数的空矩阵。 c = cell(javaobj) 把Java数组或Java对象javaobj转换成一个MATLBA元胞数组。 由此产生的元胞数组的元素是MATLAB类型之一,它非常接近于Java数组元素或Java对象。 应用举例: 例一:下面例子将产生一个元胞数组,并对它进行赋值与输出 A = cell(2) A = [] [] [] [] A{1, 1} = zeros(5); A{1, 2} = ones(3); A{2, 1} = 'Hello, World'; A{2, 2} = [0 2 3]; A = [1x2 double] [3x3 double] 'Hello, World' [1x3 double] for i=1:2 for j = 1:2 A{i, j} end end ans = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ans = 1 1 1 1 1 1 1 1 1 ans = Hello, World ans = 0 2 3 例二:下面一个例子将产生一个与矩阵A同维数的元胞数组,其元素都是空矩阵 A = ones(2,2) A = 1 1 1 1 c = cell(size(A)) c = [] [] [] [] 例三:下面一个例子将把一个java.lang.String对象数组转换成一个MATLAB元胞数组 strArray = java_array('java.lang.String', 3); strArray(1) = java.lang.String('one'); strArray(2) = java.lang.String('two'); strArray(3) = java.lang.String('three'); cellArray = cell(strArray) cellArray = 'one' 'two' 'three'
㈤ 在matlab中cell函数的作用
cell函数在本程序段中起到了定义一个数组的作用。
程序功能:第一句A=cell(100,1),意思是定义一个100X1的数组A
“for ……end”是循环结构,循环体中包含了两个功能,一是使全局变量flag减1,二是使A的状态值返回到一个double类型的1X13的数组。当全局变量flag小于零时循环终止。
下面举例说明cell函数的一般使用情形:
1,首先用cell函数来声明一个新的单元阵列。
2,以声明1x3形式的单元阵列v为例,输入命令行v={B sum(B) prod(prod(B))}
这里需要补充说明B是我们预先声明的一个向量。
3,上一步中的prod的功能是求积运算,所以当向量B的数据类型不同时得到的结果也是不同的。
若B为一个一维向量(或数组),则一次prod运算后得到的是所有元素的乘积,二次prod运算则会将结果还原出来。
若B为矩阵,那么一次prod运算后,对矩阵各列分别求积后得到一个新的数组C,这个数组即为输出结果,二次prod运算后,则将数组C中所有元素求积,然后输出这个积。
以上是cell函数的具体作用。
(5)matlabcell存储for扩展阅读:
用cell函数创建细胞数组,创建的数组为空细胞。cell函数创建空细胞数组的主要目的是为数组预先分配连续的存储空间,节约内存占用,提高执行效率。
从细胞数组中读取数据,可保存为一个标准的数组或一个新的单元数组,或取出数组进行计算。细胞数组中数据的访问,可通过细胞内容的下标进行,用细胞数组名加大括号{}。大括号中数值表示细胞的下标。
细胞型数据的定义方法:
1,直接赋值定义法
2,空间定义法
㈥ 求matlab大侠,for循环过程保存数据矩阵问题
你好,其实是不用生成这么多变量的。可以这样,用aaa{}。大括号代表a是cell array,比如说你要用aaa1,其实就是aaa{1} aaa{2}等等。调用aaa1就用aaa{1}这种格式来表达。
当然,如果真的要那么做其实也可以程序如下:
for i=1:10
eval(['aaa',num2str(i),'=i']);
end
㈦ matlab怎么将多重cell数组储存为excel格式
这要看是什么样的数据类型。
比如数字数组就可以直接
xlswrite('1.xlsx',A)