Could my failure to solve the problem be due to numerical values being too small

That is possible. You should change units if necessary so that all non-zero input data is within a small number of orders of magnitude of one.

Have you tried another solver? if you have Mosek available, try that, and pay attention to any warning messages it issues.

I have tried mosek and it is still wrong. I have searched a lot of materials and now there is some confusion. I would like to ask when mosek is needed and can mosek handle small numbers compared with cvx

Mosek is more numerically robust than the non-commercial solvers.It also provides better diagnostic information. But even with Mosek, you should try to get numerical scaling as good as possible.