MATLAB: Passing array as an input argument

arrayfunction

I want to pass an array [p1 p2 p3] in the function "arithmetic_decoding" as an input.
function arithmetic_decoding(tag,n,[p1,p2,p3]) % this shows error "Unbalanced or unexpected parenthesis or bracket"
Please help?
%p1=0.4;
%p2=0.5;
%p3=0.1;

Best Answer

Is that how you are calling the function, or is it the function header (inside the function file itself)?
If that is how you are calling the function, you don't want the word function there. Instead, use just
arithmetic_decoding(tag,n,[p1,p2,p3])
If that is the function header, then you'll need to do something like
function arithmetic_decoding(tag,n,p)
and then parse the p1,p2,p3 inside the function itself.