How to pass an cell array as input to a function

3 views (last 30 days)
Hi, Can I know how to pass a cell array as input to a function as shown below
function [averagedSignal]=shift_and_Average(a,needed{a},p5,p4,p3,p2)
if (a==1)
p5=needed{a};
elseif(a==2)
p4=needed{a};
elseif(a==3)
p3=needed{3};
elseif(a==4)
p2=needed{4};
else
p1=p1;
The above usage is giving error like "Unbalanced or unexpected parenthesis or bracket".

Accepted Answer

Mischa Kim
Mischa Kim on 14 Jan 2014
Edited: Mischa Kim on 14 Jan 2014
Remove the {a} in the function input: shift_and_Average(a,needed,p5,p4,p3,p2)

More Answers (2)

Azzi Abdelmalek
Azzi Abdelmalek on 14 Jan 2014
If needed represent an array
function [averagedSignal]=shift_and_Average(a,needed,p5,p4,p3,p2)
if (a==1)
p5=needed{a};
elseif(a==2)
p4=needed{a};
elseif(a==3)
p3=needed{3};
elseif(a==4)
p2=needed{4};
else
p1=p1;

Tyler Cushman
Tyler Cushman on 10 Dec 2017
When I try to do this it just says undefined function for input arguments of type cell, however when I take it out of the function and just paste the code into what I want to use it on it works.

Categories

Find more on Multidimensional Arrays in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!