If the data files are too large to read all of them into memory at once, try creating a datastore and using that datastore to create a tall array on which you can compute. See this section of the documentation for more information on datastore and tall.
One word of caution: if you're using a release older than the current (which right now is release R2017b) you'll want to find the version of the page to which I linked above in your locally installed documentation. There have been many new features introduced in datastore and tall in the past several releases, so by referring to your locally available documentation you'll see just those features available in your release.
