MATLAB Answers

How to use cell as input arguments of a function?

34 views (last 30 days)
I have a cell array C = {[1 2 3],[4 5 6],[7 8 9] }.
How do I use this cell array as input argument for a function?
function B = merge(C)
for i = 1:3
for j = 1:3
if i<j
B = [C{i};C{j}]
end
end
end
Thanks!

  2 Comments

Stephen Cobeldick
Stephen Cobeldick on 7 Oct 2019
"How do I use this cell array as input argument for a function?"
Just pass it as an argument:
C_in = {....};
B_out = merge(C_in)
Note that your code overwrites B each time that line is evaluated, thus making both loops superfluous and your code simply equivalent to B = [C{2};C{3}]
muhammad muda
muhammad muda on 7 Oct 2019
But I tried to run this program and it says "Not enough input arguments".
How can I solve this?

Sign in to comment.

Accepted Answer

meghannmarie
meghannmarie on 7 Oct 2019
Edited: meghannmarie on 7 Oct 2019
This works for me. Maybe matlab has another merge function? Type this:
which merge
Make sure the path its giving you points at YOUR merge.m file and not a path to a MATLAB toolbox. If it is pointing at a different one, change the name of your function and file to merge2 or something.

More Answers (0)


Translated by