It's not a good habit to name variables with respect to input/strings/numbers. Please strongly consider avoiding this pattern. Here's a really good post on why this is a bad idea: Why variables should not be named dynamically? by @Stephen Cobeldick
Consider using arrays instead. You can have a look at all available data types in the attached link and then pick the one that suits your needs. This includes Numeric Arrays, Cell Arrays, Tables and Maps. Structure arrays seem like a nice place to start.
If you're still looking to go ahead with your approach, you'll need to use the eval command as shown below.
objectname = strcat('Run', string(run)');
propertyname = strcat('Mic', string(mic));
value = strcat(objectname,'.',propertyname);
OASPL = eval(value);