How to pass an cell array as input to a function

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".

 採用された回答

Mischa Kim
Mischa Kim 2014 年 1 月 14 日
編集済み: Mischa Kim 2014 年 1 月 14 日

0 投票

Remove the {a} in the function input: shift_and_Average(a,needed,p5,p4,p3,p2)

その他の回答 (2 件)

Azzi Abdelmalek
Azzi Abdelmalek 2014 年 1 月 14 日

0 投票

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 2017 年 12 月 10 日

0 投票

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.

カテゴリ

製品

質問済み:

2014 年 1 月 14 日

回答済み:

2017 年 12 月 10 日

Community Treasure Hunt

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

Start Hunting!

Translated by