Now, I want to assign some values for a Table list and I find that
If
{mat[1], mat[2], mat[3], mat[4], mat[5]}={4,23,3,12,1};
it is no problem. But, if we use
Table[mat[n],{n,1,5}]={4,23,3,12,1};
It doesn't work. Why ? Thanks.
Mathematica Stack Exchange is a question and answer site for users of Wolfram Mathematica. It only takes a minute to sign up.
Sign up to join this communityNow, I want to assign some values for a Table list and I find that
If
{mat[1], mat[2], mat[3], mat[4], mat[5]}={4,23,3,12,1};
it is no problem. But, if we use
Table[mat[n],{n,1,5}]={4,23,3,12,1};
It doesn't work. Why ? Thanks.
You should evaluate the left-hand side first.
Evaluate[Table[mat[n], {n, 5}]] = {4, 23, 3, 12, 1}
Another possible way:
With[{values = {4, 23, 3, 12, 1}},
Do[mat[n] = values[[n]], {n, 5}]]
You must tell the kernel to evaluate the left hand side before invoking Set
Try this:
Evaluate[Table[mat[n],{n,1,5}]]={4,23,3,12,1};