Why shouldn't it be faster? You are doing different operations. When you vpa() symMat ahead of time, then the vpa() pre-calculates most things that can be calculated as numeric, using fixed-point calculations. This can permit it to consolidate a number of values.
For example, you might have
m = x * (sin(sym(pi)/17) + int(tan(y),y,0,sym(pi)/4))^(1453/611)
This involves the indefinitely-precise value of sin(pi/17) and an integral that will probably produce a transcendental number, and involves taking the sum of those two to the 1453 power and taking the 611'th root of that -- more indefinitely precise numbers, all of which have to be held as indefinitely precise because the code does not know what you are going to do with m later. Repeat this a number of times and it is going to add up in time.
If, on the other hand, you vpa() this ahead of time, then it is going to reduce to
m = 0.22127813173338713927096201193632*x
which is comparatively fast to execute many times.
Best Answer