8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 117 118 119 120 121 122 123 ... 365

и для полученного решения вычислите:

•интеграл по всему промежутку от yf (х);

•корни уравнения у, = —1.

5.Решите дифференциальное уравнение для ле [0, 7]:

6.y + 3y-0.1y2=2sinjc, у(0) = 0.02, /(0) = 1

и для полученного решения найдите все локальные максимумы и минимумы у (а).


Глава 7

Управляющие конструкции языка программирования

Файл-функции и файл-программы, которые вы создавали при чтении двух предыдущих глав, являются самыми простыми примерами программ. Все команды MATLAB, содержащиеся в них, выполняются последовательно. Для решения многих более серьезных задач требуются программы, в которых действия повторяются циклически, а в зависимости от некоторых условий выполняются различные части программы. В данной главе описаны управляющие конструкции языка программирования MATLAB, которые могут быть использованы при написании как файл-программ, так и файл-функций.

Операторы цикла

Схожие и повторяющиеся действия выполняются при помощи операторов цикла for и while. Цикл for предназначен для выполнения заданного числа повторяющихся действий, a while— для действий, число которых заранее не известно, но известно условие продолжения цикла.

Цикл for

Использование for осуществляется следующим образом:

for count = start:step:final команды MATLAB

end

Здесь count — переменная цикла, start— ее начальное значение, final — конечное значение, a step — шаг, на который увеличивается count при каж-


дом следующем заходе в цикл. Цикл заканчивается, как только значение count становится больше final. Переменная цикла может принимать не только целые, но и вещественные значения любого знака. Разберем применение цикла for на некоторых характерных примерах.

Пусть требуется вывести графики семейства кривых для л€ [0, 2тс], которое

задано функцией у{х, a) = e~axsinx, зависящей от параметра а, для значений параметра а от -0.1 до 0.1 с шагом 0.02. Можно, конечно, последовательно вычислять у(х, о) и строить ее графики для различных значений

а от -0.1 до 0.1, но гораздо удобнее использовать цикл for. В редакторе М-файлов наберите текст файл-программы, приведенный в листинге 7.1, сохраните его в файле FORdeml.m и запустите файл-программу на выполнение (или из редактора М-файлов, или из командной строки, набрав в ней FORdemi и нажав <Enter>) (работа в редакторе М-файлов и запуск файл-программ описаны в главе 5).

\ Листинг 7.1. Файл-программа FORdeaa для вывода семейства кривых

figure % создание графического окна

х = 0:pi/30:2*pi; % вычисление вектора значений аргумента 4 перебор значений параметра в цикле for а = -0.1:0.02:0.1

% вычисление вектора значений функции для текущего значения параметра

у = ехр(-а*х).*sin(x); % добавление графика функции

hold on

plot(x, у) end

Примечание

Редактор М-файлов автоматически предлагает расположить операторы внутри цикла с отступом от левого края. Используйте эту возможность для структурирования текста программы. Редактор автоматически устанавливает отступы подходящей длины, если выбран переключатель Smart indent на вкладке Language для компоненты Editor/Debugger в диалоговом окне Preferences.

В результате выполнения FORdemi появится графическое окно, изображенное на рис. 7.1, которое содержит требуемое семейство кривых.



0 ... 117 118 119 120 121 122 123 ... 365