[dx(i); dy(i); dz(i); t0(i)] = inv(Mat1(i))*Mat2(i);
You need to use comma instead of semicolon there.
But it is not going work. You need to assign the result to a variable and then index the variable to pull out parts to assign to those variables.
You are also going to need to start using cell arrays for Mat1 and Mat2
Is there a reason that you are storing the Mat1 and Mat2 results? You do not appear to be using them after the loop.