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;

 采纳的回答

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 个评论

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

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Logical 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by