Программирование и скрипты

Самый простой тип программы MATLAB® называется скриптом. Скрипт является файлом с расширением .m, которое содержит несколько последовательных строк команд MATLAB и вызовов функции. Можно запустить скрипт путем введения его имени в командной строке.

Демонстрационный скрипт

Чтобы создать скрипт, используйте команду edit,

edit plotrand

Это открывает пустой файл с именем plotrand.m m. Введите некоторый код, который строит график вектора случайных данных:

n = 50;
r = rand(n,1);
plot(r)

Затем, добавьте код, который проводит горизонтальную линию на графике в среднем значении:

m = mean(r);
hold on
plot([0,n],[m,m])
hold off
title('Mean of Random Uniform Data')

Каждый раз, когда вы пишете код, это - хорошая практика, чтобы добавить комментарии, которые описывают код. Комментарии позволяют другим понимать ваш код и могут обновить вашу память, когда вы возвращаетесь к нему позже. Добавьте комментарии с помощью процента (%) символ.

% Generate random data from a uniform distribution
% and calculate the mean. Plot the data and the mean.
 
n = 50;            % 50 data points
r = rand(n,1);
plot(r)
 
% Draw a line from (0,m) to (n,m)
m = mean(r);
hold on
plot([0,n],[m,m])
hold off
title('Mean of Random Uniform Data')

Сохраните файл в текущей папке. Чтобы запустить скрипт, введите его имя в командной строке:

plotrand

Можно также запустить скрипты из Редактора путем нажатия кнопки Run.

Циклы и условные операторы

В рамках скрипта можно циклично выполниться по разделам кода и условно выполнить разделы с помощью ключевых слов for, while, if и switch.

Например, создайте скрипт под названием calcmean.m, который использует цикл for, чтобы вычислить среднее значение пяти случайных выборок и полное среднее значение.

nsamples = 5;
npoints = 50;

for k = 1:nsamples
    currentData = rand(npoints,1);
    sampleMean(k) = mean(currentData);
end
overallMean = mean(sampleMean)

Теперь, измените цикл for так, чтобы можно было просмотреть результаты в каждой итерации. Отобразите текст в Командном окне, которое включает текущий номер итерации, и удалите точку с запятой от присвоения до sampleMean.

for k = 1:nsamples
   iterationString = ['Iteration #',int2str(k)];
   disp(iterationString)
   currentData = rand(npoints,1);
   sampleMean(k) = mean(currentData)
end
overallMean = mean(sampleMean)

Когда вы запускаете скрипт, он отображает промежуточные результаты, и затем вычисляет полное среднее значение.

calcmean
Iteration #1

sampleMean =

    0.3988

Iteration #2

sampleMean =

    0.3988    0.4950

Iteration #3

sampleMean =

    0.3988    0.4950    0.5365

Iteration #4

sampleMean =

    0.3988    0.4950    0.5365    0.4870

Iteration #5

sampleMean =

    0.3988    0.4950    0.5365    0.4870    0.5501


overallMean =

    0.4935

В Редакторе добавьте условные операторы в конец calcmean.m, которые отображают различное сообщение в зависимости от значения overallMean.

if overallMean < .49
   disp('Mean is less than expected')
elseif overallMean > .51
   disp('Mean is greater than expected')
else
   disp('Mean is within the expected range')
end

Запустите calcmean и проверьте что правильные индикаторы сообщения для расчетного overallMean. Например:

overallMean =

    0.5178

Mean is greater than expected

Местоположения скрипта

MATLAB ищет скрипты и другие файлы в определенных местах. Чтобы запустить скрипт, файл должен быть в текущей папке или в папке на пути поиска файлов.

По умолчанию папка MATLAB, которую создает Инсталлятор MATLAB, находится на пути поиска файлов. Если вы хотите сохранить и запустить программы в другой папке, добавьте его к пути поиска файлов. Выберите папку в Браузере текущей папки, щелкните правой кнопкой, и затем выберите Add to Path.

Была ли эта тема полезной?