Error using arrayfun All of the input arguments must be of the same size and shape

26 次查看(过去 30 天)
I am trying to convert to binary numbers in a string with this code:
sbox=[12;5;6;11;9;0;10;13;3;14;15;8;4;7;1;2];
f=@(x) dec2bin(x,4);
l=arrayfun(f,sbox,'UniformOutpot',false);
But i get the following error
Error using arrayfun
All of the input arguments must be of the same size and shape.
Previous inputs had size 16 in dimension 1. Input #3 has size 1
Error in nl (line 3)
l=arrayfun(f,sbox,'UniformOutpot',false);
I also tried to input sbox=[1,1,1] but it gives me the same error

回答(2 个)

Fangjun Jiang
Fangjun Jiang 2021-9-23
编辑:Fangjun Jiang 2021-9-23
no need to use arrayfun() for this.
cellstr(dec2bin(sbox,4))

Voss
Voss 2021-9-23
Change 'UniformOutpot' to 'UniformOutput' so that MATLAB doesn't think it's another input variable for f.

类别

Help CenterFile Exchange 中查找有关 Numeric Types 的更多信息

产品


版本

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by