# Problems with mathematica code

1. May 8, 2013

### johalia

Hello!

I'm writing a paper where I'm going to use markov models to evalute a device. My base for this paper is the paper written by H. Timbley. I have never used Mathematica before and thought that I would start by trying the complete code that Timbley has written in the appendix of the paper. The code is:

DiscreteMathCombinatorica;
IndexOf[vector , e ] := Position[vector, e][[1, 1]];

device =
{{"Clock", "Clock", "Clock", "Clock", "Clock", "Clock"},
{"Quick Defrost", "Quick Defrost", "Quick Defrost",
"Quick Defrost", "Quick Defrost", "Quick Defrost"},
{"Timer1", "Timer1", "Timer2", "Timer1", "Timer2", "Timer1"},
{"Clock", "Clock", "Clock", "Clock", "Clock", "Clock"},
{"Clock", "Quick Defrost", "Power1",
"Power2", "Power1", "Power2"}
};

buttonNames = {"Clock", "Quick Defrost", "Time", "Clear", "Power"};
stateNames = {"Clock", "Quick Defrost", "Timer1", "Timer2", "Power1",
"Power2"};

numberOfStates = Length@stateNames;
numberOfButtons = Length@buttonNames;

start = IndexOf[stateNames, "Power1"];
goal = IndexOf[stateNames, "Power2"];

Until then the code work just fine, but when I type in the next section described in the appendix (see below), some error codes pop up.

Do[randomUser[[i, IndexOf[stateNames, device[[b, i]]]]] +=
1/numberOfButtons, {b, numberOfButtons}, {i, numberOfStates}];

Error codes:
Part::partw: Part 1 of {} does not exist. >>
Part::pspec: Part specification {}[[1,1]] is neither a machine-sized integer nor a list of machine-sized integers. >>
Part::partw: Part 1 of {} does not exist. >>
Set::pspec: Part specification {}[[1,1]] is neither a machine-sized integer nor a list of machine-sized integers. >>
Part::partw: Part 3 of {Quick Defrost,(Quick Defrost)^5} does not exist. >>
General::stop: Further output of Part::partw will be suppressed during this calculation. >>
Part::pspec: Part specification {}[[1,1]] is neither a machine-sized integer nor a list of machine-sized integers. >>
Set::pspec: Part specification {}[[1,1]] is neither a machine-sized integer nor a list of machine-sized integers. >>
Part::pspec: Part specification {}[[1,1]] is neither a machine-sized integer nor a list of machine-sized integers. >>
General::stop: Further output of Part::pspec will be suppressed during this calculation. >>
Set::pspec: Part specification {}[[1,1]] is neither a machine-sized integer nor a list of machine-sized integers. >>
General::stop: Further output of Set::pspec will be suppressed during this calculation. >>

Is there anybody that could tell me what's wrong with the code?

Last edited: May 8, 2013
2. May 8, 2013

### Staff: Mentor

What version of Mathematica are you using? Because I get different error messages.

The problem seems to be that randomUser is not defined.

Can you give a reference for the paper you mention?