You have several possibilities for this. The probably two easiest methods are first to use `Unique`

```
ClearAll[x];
x = Table[Unique["x"], {10}]
(* {x7, x8, x9, x10, x11, x12, x13, x14, x15, x16} *)
```

The good thing is, that when some of your variables `xn`

are already defined, `Unique`

will not return them. It always gives you fresh, unused symbols.

The other thing you should consider is, that `x[1]`

can be used like a symbol too, although it isn't one. Therefore

```
ClearAll[x];
vars = Table[x[i], {i, 10}]
(* Out[15]= {x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10]} *)
```

Can be used as valid variables too. In any case you should watch out that your variables are not assigned to values accidently. This is a common source of errors if you use them in combination with `Solve`

or its friends.

**Why did I use **`x=`

in the first example and `vars=`

in the second one?

Let's take a very simple example

```
a = b[1];
OwnValues[a]
(*
{HoldPattern[a] :> b[1]}
*)
```

and now we assume that the `b`

would be an `a`

, than we would get an `OwnValue`

-rule like

```
HoldPattern[a] :> a[1]
```

Therefore, the moment you use `a`

an substitution process starts which is only stopped by the `$RecursionLimit`

, because `a`

is evaluated into `a[1]`

which again contains an `a`

in the front. This is repeatedly replaced.

Therefore, if you want to use the second approach, **don't** call it like `x = Table[x[i], {i, 10}]`

.

3Look at

`Symbol`

and`Unique`

. Also consider indexed variables, e.g.`x[1]`

,`x[2]`

, etc. – Mr.Wizard – 2012-10-16T15:41:41.7301Consider also the use of the built-in

`C`

and`K`

if you're going the "indexed variables" route. – J. M.'s ennui – 2012-10-16T16:31:29.000@J.M. That was a very useful comment! I've never heard of

`NHoldAll`

before. Using`K`

doesn't seem to have any advantages though, right? – sebhofer – 2012-10-16T22:20:11.140Definately

`Array`

with some formal symbol or not formal if you are sure there's nothing defined on it.`m~Array~{5, 5} . a~Array~5 // MatrixForm`

– Rojo – 2012-10-17T12:28:25.400