In Matlab, arrays are dynamic in size, meaning, whenever you need a larger array, you can just index based on this larger number and Matlab will automajically resize your original array to be the new bigger size. There is a cost with doing this, which is that your program will slow down, if you do it often enough. Thus, if you know (or have a good guess) at how big the array needs to be in the first place, you can "pre-allocate" it, meaning pre-size the array.
If you know approximately how big an array will be when your program is done, you can ask Matlab to give you an "empty" array of that size to begin with. This will make your program much faster for large data sets. It will have almost no affect for small data sets.
To pre-allocate an array (or matrix) of numbers, you can use the "zeros" function. To pre-allocate an array (or matrix) of strings, you can use the "cells" function.
grade_list = zeros(1,100); % approximately 100 students in class
names = cell(1,100); % approximately 100 names for the students in class