While teaching piezoelectrical materials in my course at the Politecnico di BARI, I have explored the Matlab example "deflection-of-a-piezoelectric-actuator" which can be found in the official matlab web site https://it.mathworks.com/help/pde/ug/deflection-of-a-piezoelectric-actuator.html
The result of the example itself may be correct because it is checked against some reference solution.
However this is when the voltage across the bilayer actuator is simply linear across the y-direction because uniform voltage is imposed on the top surface and on the bottom one. However, when I asked the students to reproduce other conditions, like for example voltage only across part of the top surface and on the bottom one, or across the lateral surfaces, the resulting electrical field is very weird and very unlikely to be correct.
After all, although the problem is strictly speaking coupled between the electrical field and the mechanical one, I would not expect the electrical field to be very different from the classical electrical or thermal problem in the same domain, with imposed voltage (or temperature). And this problem, solved with Matlab or with other means, shows much smoother results.
The treatment of matrices is so involute that it is hard to check if the formulation is correct.
But when we checked the solution using ANSYS, even the coupled piezoelectrical problem shows smooth results, which differ from this example. So be aware that there must be some error in the formulation!
We can provide more info if you are interested.
It would be nice to get in touch with anyone using Matlab for PZT problems.
Prof. Michele Ciavarella Politecnico di BARI