Too many input arguments error when cell2mat and mean functions are used
    6 ビュー (過去 30 日間)
  
       古いコメントを表示
    
I have five cluster data saved in my cell array iniclu. Each row of cell array contains varying number of columns such as 23 27 26 17 7 so that the shortage of columns are marked as [] to the max of 27. Now i want to process cell array row one by one to find mean or centroid of each cluster. My usage is shown in code, but it throws error.
count = [23 27 26 17 7]
iniclu = cell(1,1); %later i built the cluster data as shown in fig 
for i = 1:5
    bb = [];
    bb = cell2mat(iniclu{i,1:count(i)});
    centroids(i,:) = mean(bb,1);
end
   But it throws too many input arguments error, hence i could not get expected op as centroids having 5x2 means data. I have attached content of iniclu data. Pls clarify!
 Pls clarify!
 Pls clarify!
 Pls clarify!3 件のコメント
  Walter Roberson
      
      
 2024 年 3 月 13 日
				no, you have different sizes of cells; you can only put them together as a vector (unless you are willing to pad the entries)
採用された回答
その他の回答 (1 件)
  VBBV
      
      
 2024 年 3 月 13 日
        bb = cell2mat(iniclu(i,1:count(i)));
Use a ( ) in place of { }
9 件のコメント
  Steven Lord
    
      
 2024 年 3 月 13 日
				Look at the sizes of the outputs and the arrangement of data in those outputs.
bb = 1:10
bb1 = reshape(bb, 2, []).'
bb2 = reshape(bb, [], 2).'
参考
カテゴリ
				Help Center および File Exchange で Creating and Concatenating Matrices についてさらに検索
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!





