Matlab is just a language. OOP is the concept.
Try explaining the concepts using a less example driven explanation. Engineers certainly understand different domains and units (ex: adding temperature to distance would be odd), so they should intuitively understand encapsulation and polymorphism without needing concrete examples in Matlab. You should be able to explain abstraction easily enough. Inheritance and composition would be harder to explain without examples, but explain the concept clearly and they should understand.
Generics versus type specificity should be motivated through examples from their math background. Functional programming, passing functions and lambdas are not OOP per se, and that is harder to explain without a more abstract math background that typically presented to engineers (having studied both engineering, software and mathematics, I have some insight into their different specializations).
You might not be able to provide examples using Matlab directly, but you could certainly explain abstraction and encapsulation using examples including structures. Even in languages where you cannot encapsulate your functions (methods) with your data, you can still explain how certain functions are only defined for certain domains.
Considering that many developers value composition over inheritance, you could explain inheritance, composition, and the relative merits of the two.
You could motivate polymorphism in a natural way by reviewing the difference between integers, rationals, reals, and complex numbers, and then explain how the "normal" arithmetic operators are functions (methods), but even though the operator (ex '+') looks the same, it is a different function when used with different domains.