# How do I export matrices into matlab format?

For example:

M={};
For[n = 0, n < 100, n = n + 1,
... ...
M=Append[M, Resultmatrix ];
(*Resultmatrix is the intermediate reslut 4X4 matrix*)
]
Export["data.mat", M]


But when loading data.mat in Matlab, I find that M splits into multiple variables with names like Expression1, Expression2, Expression3 .... I also tried XLS format, but each 4x4 matrix in the list of matrices appears in an individual worksheet. So my question is how can I put M in a single variable, thus I could manipulate it.

-
You can create the list in one go: m = Array[#1 - 1 &, {100, 4, 4}] –  ssch Jan 19 '13 at 12:48
You could export Flatten[m] and then use reshape(Expression,[100 4 4]) (not sure about syntax) in the other software. –  b.gatessucks Jan 19 '13 at 12:53
thanks ssch and b.gatessucks ,M is not a constant matrix, posted is just an example, Flatten[m] does work, but I found reshape changed the structure of M. –  novice Jan 19 '13 at 13:18
@user5463 The structure is different because one uses row major ordering and the other column major ordering to store the arrays. See this question and the answers there for a way to convert (the answers deal with converting in mma... you can do something similar in matlab) –  rm -rf Jan 19 '13 at 17:13
also relevant: mathematica.stackexchange.com/questions/6837/… –  s0rce Jan 20 '13 at 3:25

Export["file.mat", {"Var1" -> {{1, 2, 3}, {3, 4, 5}}, "Var2" -> {{4, 5, 6}}}, "LabeledData"]