MATLAB Answers

0

How to use cell as input arguments of a function?

Asked by muhammad muda on 7 Oct 2019
Latest activity Edited by meghannmarie on 7 Oct 2019
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

"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}]
But I tried to run this program and it says "Not enough input arguments".
How can I solve this?

Sign in to comment.

1 Answer

Answer by meghannmarie on 7 Oct 2019
Edited by meghannmarie on 7 Oct 2019
 Accepted Answer

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.

  1 Comment

Yes it works now, thanks..

Sign in to comment.