How to pass cell array as input to function

I have a cell array which contains 10 {1x1 cell} cells now I want to pass this cell array as input to a function and access the element inside the {1x1 cell} how should I pass the cell array?

1 件のコメント

James Tursa
James Tursa 2019 年 12 月 19 日
You pass it just like you would pass any other variable. And extract the contents using the curly braces { } inside your function. Can you show us the code that is giving you problems?

サインインしてコメントする。

 採用された回答

Adam Danz
Adam Danz 2019 年 12 月 19 日
編集済み: Adam Danz 2019 年 12 月 20 日

1 投票

" I want to pass this cell array as input to a function and access the element inside"
There are (at least) three interpretations of that.
Pass each element in as a single input
C = arrayfun(@(x){x},1:10); % demo data
z = myFun(C{:});
function z = myFun(a,b,c,d,e,f,g,h,j,k)
z = a+b+c+d+e+f+g+h+j+k;
end
Condense the inputs into a vector and pass as 1 input
C = arrayfun(@(x){x},1:10); % demo data
y = myFun2([C{:}]);
function z = myFun2(n)
z = sum(n);
end
Pass the entire cell array
C = {1,2}; % demo data
y = myFun2(C);
function z = myFun2(n)
z = C{1} + c{2};
% or
% z = sum([C{:}]);
end

3 件のコメント

Niharika  Nayak
Niharika Nayak 2019 年 12 月 20 日
thanks for the solution Pass the entire cell is the solution of my problem. It works
Adam Danz
Adam Danz 2019 年 12 月 20 日
編集済み: Adam Danz 2019 年 12 月 20 日
Ah... good.
Niharika  Nayak
Niharika Nayak 2019 年 12 月 20 日
?

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeData Type Conversion についてさらに検索

質問済み:

2019 年 12 月 19 日

編集済み:

2019 年 12 月 20 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by