It depends how the m-files are defined. If they are scripts (that is, they are not defined by the 'function' keyword at the top), the variables defined in them are automatically added to the "base" workspace, which includes all variables included in all other script files that are run, regardless of whether they are defined as global or not.
If the m-files are functions, you will need to pass out the useful variables as output variables from your function. This is strongly preferred over using global variables.
This is best explained here: