1. Создать папку для этой работы. Все файлы должны быть в одной папке.
2. Создать файлы lab6a_1.m и lab6a_2.m.
2.1. Файл lab4_2.m для построения непрерывного графика кусочно-заданной функции (работа 4_2) скопировать в текущую папку и переименовать в lab6a_2.m — это графическая проверка работы.
2.2. В файле lab6a_2.m удалить рисование маркеров, оставить только рисование линии.
2.3. Задание границ отрезка a и b и внутренних границ c и d скопировать из файла lab6a_2.m в пустой файл lab6a_1.m — это исходные данные. При изменении исходных данных их нужно будет поменять и в файле lab6a_2.m.
3. Создать функциидля вычисления каждой ветви y1(х), y2(х), y3(х) заданной функции f (x) (в отдельныхM-файлах или анонимных функциях в файле lab6a_1.m).
Внимание: имена функций (этих и последующих) не должны совпадать с именами векторов в файле lab6a_2.m. Иначе после выполнения файла lab6a_2.mэти имена станут принадлежать векторам, и выполнитьфункции будет не возможно.
4. Написать файл-функцию для вычисления заданной функции f (x) для одного значения х. Внутренние границы c и d включить во входные параметры функции.
4.1. Создать новый M-файл и написать заголовок(одним из двух способов).Если в п. 3 были созданы анонимные функции, их тоже надо включить во входные параметры.
заголовок функции | функции y1, y2, y3 |
function у = f(х, c, d) | M-файлы |
function у = f(х, c, d, y1, y2, y3) | анонимныефункции |
Сохранить под предложенным именем.
4.2. Написать «тело функции» при помощи условного оператора для выбора нужной ветви функции f (x)
ЕСЛИ , ТО | первый отрезок задания функции |
ИНАЧЕ ЕСЛИ , ТО | второй отрезок |
ИНАЧЕ | остался только третий отрезок |
КОНЕЦ ЕСЛИ |
4.3. Выполнить файл lab6a_1.m с исходными данными и проверить правильность задания функции на нескольких значениях x, заданных в CommandWindow.
5. Написать файл-функцию для создания вектора X, из N элементов равномерно распределеных на отрезке [ a, b ], и вектора Y, состоящего из значений f (X).
5.1. Создать новый M-файл и написать заголовок (одним из двух способов). Если в п. 3 были созданы анонимные функции, их тоже надо включить во входные параметры.
заголовок функции | функции y1, y2, y3 |
function [X,Y] = y_vec(N,a,b,c,d) | M-файлы |
function [X,Y] = y_vec(N,a,b,c,d, y1, y2, y3) | анонимныефункции |
Сохранить под предложенным именем.
5.2. Написать «тело функции».
Алгоритм:
1) Задать первый индекс i равным 1.
2) Задать переменную x равную левой границе отрезка a.
3) Вычислить шаг h изменения переменной x так, чтобы на отрезке [ a, b ] создать N равноотстоящих точек.
4) Создать цикл для вычисления векторов X и Y.
ПОКА | x должен быть меньше правой границы отрезка b |
присвоить i -ому элементу вектора X значение x | |
вычислить i -й элемент вектора Y, вызвав f (x) | |
перейти к следующему индексу | |
перейти к следующему значению х, добавив шаг | |
КОНЕЦ ЦИКЛА |
6. Построить заданную функцию:
6.1. Проверить существование исходных данных с необходимыми значениями в окне Workspace. Если они отсутствуют, то выполнить файл lab6a_1.m с исходными данными.
6.2. Задать число точек N.
6.3. Вычислить функцию y_vec.
6.4. Построить график зависимости Y (X) только с помощью маркеров.
7. Проверить полученный график, построив непрерывный график.
7.1. По умолчанию следующий вызов функции plot удалит предыдущий график. Команда holdon включает режим сохранения текущего графического окна. Теперь новые графики будут добавлены к существующим графикам. Команда holdoff выключает данный режим.
7.2. Выполнить файлlab6a_2.m. Убедиться в совпадении графиков.
8. Продолжить Отчет 2. Графика и исследование функций. Часть 1. График кусочно-заданной функции. В раздел 2. Результаты под подзаголовок MATLAB вставить все созданные файлы с комментариями, результаты и графики.
ЗАДАНИЕ Б
Написать файл-функциюдля задания работы 4 (стр. 45) по вариантам (стр. 48).