Самый простой способ - объединить новый пользовательский ввод с вектором пользовательского ввода. Таким образом, ваш вектор всегда будет расти. Другая вещь - ваш for
цикл, вы должны разорвать его, когда пользователь наберет N, верно? Таким образом, вам действительно не нужны эти два цикла, иначе ваш скрипт будет работать неопределенно долго.
Y=true;
N = false;
grades = [];
while (d ~= 'n' && d ~= 'N')
grades = [grades input('Enter a numerical value from 0 to 100: \n')];
d = input('Do you want to enter another grade? (Y/N): \n');
end
И последнее: Matlab будет жаловаться и предлагать вам заранее распределить оценки. Но если вы заранее не знаете размер вектора, и это совсем не скорость, это решение достаточно хорошее, я думаю.
Удачи