I would have thought the issue would be with one of the divides, not one of the multiplications. Either way, it's likely that you are multiplying or dividing two matrices together that are not the proper size for matrix multiplication or division. I'd suggest doing:
dbstop if error
to catch the error when it occurs. Then, while in debug mode, run pieces of the equation until you figure out what appears to be messing up the dimensions.
Also, I'd suggest cleaning up the extraneous parentheses. They really serve to confuse the equation further. I believe you have an instance where "x*ro" is inside the bessel call, and another where "x*ri) is outside of it, and I can't tell if that's intentional.
Remember to check if you mean to be using * and /, or .* and ./, if you're expecting an operand to be an array.
-Cam
