so I would like to develop the ability to use either software tool
based on the nature of the problem I'm facing
For me, the best way to learn any new programming language B, given you already know A, is to try to solve the same problem you know how to do in A, but using B.
This is much better way to learn B than starting from basic syntax and just looking at random examples in B. Because now you are trying to implement a solution to a problem you already know how to do, but in A, so you have some framework on what to expect and what to do. And also you will have more motivation to learn B this way.
Suppose you know how to make a plot of sin function in B. Then try to do the same using A. Or you know how to implement simple feeback control system in A, now try to do the same in B, and so on. Other things come along as you are trying to do this.
Because of this, resources that show how to solve the same problem using the two languages side by side, are better initially to use and learn from.
One such resource is rosettacode. It has thousands of problems solved in many languages, including Matlab and Mathematica.
Another is How to solve basic engineering and mathematics problems using Mathematica, Matlab and Maple but this compares how to solve basic engineering problems commonly used in Matlab with Mathematica and Maple.
And you can always also look at the excellent collection of resources in where-can-i-find-examples-of-good-mathematica-programming-practice as you are working though examples.