Index in position 1 exceeds array bounds (must not exceed 1). How do I fix this error?

1 view (last 30 days)
n = input('Number of dice: '); %number of dice being rolled
numberOfExperiments = input('Number of trials: ');
faces = input('Number of faces: ');
a = {'G1' 'g1'}
b = {'G2' 'g2'}
X = randn(numberOfExperiments, 2)
for rows = 1:numberOfExperiments
i =randperm(length(a),1)
A=a(i)
B=b(i)
Anew = cell2mat(A)
Bnew = cell2mat(B)
for cols = 1:2
C(:,cols) = X(Anew, Bnew)
end
C(rows, :) = X(Anew, Bnew)
end
  1 Comment
Image Analyst
Image Analyst on 19 Jul 2020
What is the purpose of a and b? And what is faces used for? You never use it. Put in some comments to explain it to us. Often if you put in comments, you'll realize the error on your own.

Sign in to comment.

Accepted Answer

SAA
SAA on 19 Jul 2020
Anew and Bnew are not integers, you define a and b as cells with chars then use cell2mat but they are still not integers so you'll get an error. You can't use chars for indexing.
Also just like Image Analyst suggested, comments would help help both you and the person that's tryin to help 😃😄

More Answers (0)

Categories

Find more on Graph and Network Algorithms 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!