MATLAB Answers

Given 2 red beads, 2 blue beads, 1 yellow bead, and 1 green bead, how many different necklaces can be made?

8 views (last 30 days)
SammyJoe
SammyJoe on 18 Oct 2019
Commented: Bjorn Gustavsson on 18 Oct 2019
I need a matlab code that will determine the answer (the answer is given as 16 and I keep getting 30). Flips and circular shifts need to be taken out as well using loops

  0 Comments

Sign in to comment.

Answers (1)

Bjorn Gustavsson
Bjorn Gustavsson on 18 Oct 2019
Why not just remove the non-unique necklaces? See the help and documentation for unique for how to do this.
HTH

  4 Comments

Show 1 older comment
Image Analyst
Image Analyst on 18 Oct 2019
Hint: your "c" is not a matrix since it just gets overwritten on every iteration. Try (untested)
for k = 1 : size(p2, 1)
thisRow = p2(km :);
c(k, :) = circshift(thisRow, k);
end
SammyJoe
SammyJoe on 18 Oct 2019
I tried this, seems to be an error in the second line; is there a way to make a matrix with this loop?
Bjorn Gustavsson
Bjorn Gustavsson on 18 Oct 2019
Change p2(km :); to: p2(k,:); That should fix that problem.
For future work, read the error message look at what it says, look at the code snippet and try to see if you can spot the error. You most likely got an error-message along the lines of "Undefined function or variable 'km'." You will have to learn to spot that kind of error sooner or later, the sooner you do the better for you.
HTH

Sign in to comment.

Sign in to answer this question.