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)