If you have such long equations it's better to divide a few parts in variables. I have no idea, what you want to calculate but it's better to leave a space at least between each operand. If your line becomes too long just do a line break with three dots ...
. I'm also sure, you can eliminate a few unnecessary brackets. Your code works if you just add 2 closing brackets before == 0
eq = (((gama - 1)/2) * (1 - (vpr(1,i) ^ 2) - ...
(((vpr(1,i) - vpr(1,i - 1))/(dtheta)) ^ 2)) * ...
((2 * vpr(1,i)) + (((vpr(1,i) - vpr(1,i - 1)) / ...
(dtheta)) * cot(thetas + (i - 2)*dtheta)) + ...
((vpr(1,i) - (2 * vpr(1,i - 1)) + vpr(1,i - 2)) / ...
((dtheta) ^ 2)))) - (((vpr(1,i) - vpr(1,i - 1)) / ...
(dtheta)) * (((vpr(1,i)) * ((vpr(1,i) - vpr(1,i - 1)) / ...
(dtheta))) + (((vpr(1,i) - vpr(1,i - 1))/(dtheta)) * ...
((vpr(1,i) - (2*vpr(1,i - 1)) + vpr(1,i-2)) / ((dtheta)^2))))) == 0;
Still not sure, if your result is correct. At least there's no occuring array about missing parenthesis
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…