Passing array as an input argument

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;

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

3 Comments

Hi, thanks for your time. I am using it as a function header.
function arithmetic_decoding(tag,n,p)
p=[p1 p2 p3];
end
% Is this what you mean? as this is not working
% I'm calling like this: arithmetic_decoding(0.572,3,[0.4 0.5 0.1])
Why do you want to do this in the first place?
You'll need something like this
function arithmetic_decoding(tag,n,p)
p1 = p(1);
p2 = p(2);
p3 = p(3);
end
Thanks it worked.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!