Attempt to grow array along ambiguous dimension.

2 views (last 30 days)
a = [0:80];
b = flip(a);
multA = ones(a);
multB = ones(a);
multAB = ones(a);
for i=1:80
multA(i) = (factorial(a(i)+99))/(factorial(a(i))*factorial(99));
multB(i) = (factorial(b(i)+99))/(factorial(b(i))*factorial(99));
multAB(i) = multA(i)*multB(i);
end
Error: Attempt to grow array along ambiguous dimension.
Why do I keep getting the above error? What is the ambiguous direction?
  1 Comment
Stephen23
Stephen23 on 5 Feb 2020
Edited: Stephen23 on 5 Feb 2020
Note that your results will be not be accurate (down to ones precision), as the values you are working with (e.g. 99!) are well above flintmax. If you require a precise output then you will need to use symbolic maths or a high-precision integer class:

Sign in to comment.

Answers (1)

the cyclist
the cyclist on 4 Feb 2020
The way your defined your mult variables, they are 81-dimensional arrays. I think you meant:
multA = ones(size(a));
multB = ones(size(a));
multAB = ones(size(a));

Categories

Find more on Numeric Types in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!