Типы М-файлов
М-файлы бывают двух типов: файл-программы, содержащие последовательности команд и файл-функции, в которых описываются функции, определяемые пользователем. При выполнении задания 1 была создана файл-программа (файл-процедура) myfile. Переменные, определенные в ней, можно использовать в других файл-программах и в командах, выполняемых из командной строки. Выполнение команд в файл-программе, осуществляется двумя способами: 1. Из редактора М-файлов так, как в задании 1. 2. Из командной строки или другой файл-программы, при этом в качестве команды используется имя М-файла. Задание 2. Закройте файл, наберите в командной строке myfile и нажмите Enter. Появится графическое окно, соответствующее командам в файл-программе. Фактически, созданный М-файл становится командой, которую понимает MatLab. Команды для установления путей Если М-файл сохраняется вне основного каталога MatLab, к нему нужно установить путь. Текущий каталог устанавливается командой cd c:\users\my. Путь устанавливается командой: path(path,’c:\users\my’) добавляется каталог с низшим приоритетом поиска; или командой: path(path,’c:\users\my’,path) добавляется каталог с высшим приоритетом поиска. Оператори циклу
Цикл for Синтаксис for count=start:step:final команди MATLAB end Опис count – змінна циклу, start – її початкове значення, final – її кінцеве значення, step –крок, на якому збільшується count при кожному наступному вході в цикл цикл закінчується, як тільки значення count стає більшим final. Приклад Нехай потрібно вивести родину кривих для x€ [0, 2π], яке задано функцією, залежною від параметра y (x, a) = e-ax sin x, для значення параметра а від -0.1 до 0.1. Нижче приведений листинг файл-програми для виводу родини кривих. Листинг програми Figure x = [0:pi/30:2*pi]; for a = -0.1:0.02:0.1 y = exp (-a*x).*sin(x); hold on plot (x, y) end В результаті виконання програми з’явиться графічне вікно, яке містить потрібну родину кривих. Завдання 15. Знайти суму чисел yi= cos(2xi)-1 на проміжку від 0 до 15 з кроком 0.5. Цикл while Синтаксис while умова циклу команди MATLAB end Опис Цикл працює, поки виконується (істинно) умова цикла. Для завдання умови виконання циклу допустимі наступні операційні відношення:
Завдання більш складних умов виконується з використанням логічних операторів. Логічні оператори наведенні в наступній таблиці
Оператори вітвлення Умовний оператор if Синтаксис if умова команди MATLAB end Опис Якщо умова вірна, то виконуються команди MATLAB, розміщенні між if і end, а якщо умова не вірна, то відбувається перехід до команд, розташованих після end. Умовний оператор elseif Синтаксис if умова1 команди1 elseif умова2 команди2 ……………………… elseif условиеn командыn else команды end Опис В залежності від виконання тої чи іншої умови працює відповідна гілка програми, якщо всі умови не вірні, то виконуються команди, розміщенні після else. Завдання 1. Знайти суму чисел yi= cos(2xi)-1 на проміжку від 0 до 15 з кроком 0.5. Завдання 2. Задати x на проміжку від 0 до 15 з кроком 0.5. Знайти суму чисел yi= cos(2xi)-1 при x від 0 до 5, yi= 1 при x від 5.5 до 9, yi= exp(2xi)-sin(x) при x від 9.5 до 15. Завдання 3. Написати М функцію з декільками вхідними параметрами для ввичеслення Викликати цю функцію для різних значень A,B,C,D X задається на проміжку векторною строкою. Завдання 4. 4.1.Написати М функцію, яка в послідовності знаходить максимальний елемент. 4.2. Написати М функцію, яка сортирує елементи за зменшенням. 4.3. Написати М функцію, яка всі непарні елементи змінбє на значення з протилежним знаком. Ввести з клавіатури послідовність як мінімум з 12 елементів. Для цієї послідовності викликати М функції описані раніше.
|