- •Содержание
- •Лабораторная работа № 1. Работа в командном окне системыMatLab Цель работы
- •Введение
- •Типы данных
- •Действия над матрицами
- •1. Создание матриц
- •2. Создание матриц специального вида:
- •3. Доступ к ячейкам матрицы.
- •4. Умножение, деление матрицы на скаляр.
- •5. Сложение, вычитание скаляра из матрицы.
- •6. Сложение, вычитание матриц.
- •7. Произведение матриц.
- •Построение графиков. Вывод одного графика
- •Вывод нескольких графиков
- •Поиск решения уравнения
- •Задание на лабораторную работу
- •Литература к лабораторной работе №1
- •Лабораторная работа № 2. Построение трехмерных графиков. Программирование вMatLab Цель работы
- •Построение трехмерных графиков
- •Программирование в системеMatLab
- •Проверка условия
- •Ввод с клавиатуры
- •Задание на лабораторную работу
- •Пояснение к заданию 5 и 6:
- •Аналитические вычисления
- •Решение систем линейных уравнений
- •Задание на лабораторную работу
- •Литература к лабораторной работе №3
- •Лабораторная работа № 4. Хаотические свойства нелинейных систем Цель работы
- •Введение
- •Дискретные отображения
- •Порядок построения паутинной диаграммы
- •Задание на лабораторную работу
- •Варианты заданий
- •Пояснения к выполнению лабораторной работы
- •Литература к лабораторной работе №4
- •Лабораторная работа № 5. Дискретные отображения и бифуркационные диаграммы Цель работы
- •Основные сведения о бифуркационных диаграммах
- •Порядок построения бифуркационной диаграммы
- •Задание на лабораторную работу
- •Варианты заданий
- •Пояснения к выполнению лабораторной работы
- •«Регистрация точек в массиве»
- •Литература к лабораторной работе №5
- •Лабораторная работа № 6. Карты динамических режимов и решетки связанных отображений Цель работы
- •Основные сведения о картах динамических режимов
- •Решетки связанных отображений
- •Задание на лабораторную работу
- •Литература к лабораторной работе №6
- •Лабораторная работа № 7. Фазовые портреты динамических систем. Цель работы
- •Основные сведения о фазовом пространстве
- •Построение аттракторов
- •Фрактальная размерность и показатель Хёрста
- •Задание на лабораторную работу
- •Пояснения к выполнению лабораторной работы
- •Литература к лабораторной работе №7
Поиск решения уравнения
Графическим методом можно лишь примерно оценить решение. Для решения уравнений или систем уравнений в среде MATLAB используются процедуры fzeroиfsolve. Процедураfzeroслужит для нахождения нулей функции одного переменногоy = f(x). Рассмотрим решение такой задачи: необходимо найти значениеx, при котором функцияf(x)=x2 – 5равна0вблизи точкиx=2.
>> x0=fzero('x^2-5',2)
x0 =
2.2361
Для решения систем нелинейных уравнений в среде программирования MATLABиспользуется процедураfsolve.
Процедура fsolve решает уравнения и системы уравнений следующего вида: F(X) = 0.
Рассмотрим случай определения нулей функции одного переменного:
>> x=fsolve('sin(4*x)',1,optimset('Display','off'))
x=
0.7854
Рассмотрим подробней формат вызова fsolve:
первый параметр задает функцию;
второй, что решение будет найдено возле точки 1;
optimset('Display','off')– отключить вывод на экран сообщения о результатах оптимизации.
Задание на лабораторную работу
Графически и при помощи функций найти:
1. Пересечение двух кривых:
y=x2– 5x+ 3 иy= 7x– 4.
2. Найти точку экстремума функции y= (x+2)(x-4);
3. Дан треугольник ABC: A(-1;-2), B(-1;4), C(5;4). Найти координаты основания перпендикуляра, опущенного из точки B на сторону AC.
4. Найти основание перпендикуляра, опущенного из точки A(3;10) на окружность радиуса 4, с центром в начале координат.
5. На графике функции y = (5+x)(5-x)определить точки, касательная в которых имеет угол наклона.
Литература к лабораторной работе №1
Мартынов Н.Н. Иванов А.П. MatLAB5.xВычисления. Визуализация. Программирование – М.: КУДИЦ-ОБРАЗ, 2000. – 366 с.
Сергиенко А.Б. Цифровая обработка сигналов – СПб.: Питер, 2002. – 608 с.: ил.
http://www.adubanov.narod.ru/
www.matlab.ru
www.exponenta.ru
Лабораторная работа № 2. Построение трехмерных графиков. Программирование вMatLab Цель работы
Целью лабораторной работы является изучение языка программирования среды MatLAB. Основной задачей ставится изучение типовых конструкций языка, таких как функции, условия и циклы. Также внимание уделяется построению трехмерных графиков.
Построение трехмерных графиков
Для построения трехмерных графиков, во-первых, понадобится создать сетку координат на плоскости. Выполняет это функция [X,Y]=meshgrid(x,y), гдеxиy- одномерные массивы, аXиY- полученные в результате двухмерные массивы. Если массивыxиyодинаковые, то достаточно указать[X,Y]=meshgrid(x).
Например:
>> [X,Y]=meshgrid([-2:0.1:2]);
После этого описывается сама функция, например
>> Z=X.*exp(-X.^2-Y.^2);
После этого подается команда на вывод трехмерного графика:
>> plot3(X,Y,Z);
Результат исполнения для данного примера приведен на рис. 2.1.
Рис. 2.1. Вывод трехмерных графиков
Помимо этой простейшей функции система MatLABрасполагает ещё рядом функций, позволяющих добиваться большей реалистичности в изображении трехмерных графиков. Это функцииmesh,surfиsurfl.
К примеру, вместо ранее показанного при помощи функции plot3 графика, можно вызовом функцииmeshполучить следующий график (рис. 2.2).
>>mesh(X, Y, Z);
Рис. 2.2 Вывод трехмерных графиков.
Программирование в системеMatLab
Программирование в системе MatLABочень близко к обычному программированию. Программа создается в любом текстовом редакторе. Файл должен иметь расширение *.m. Текст М-файла функции должен начинаться с заголовкаfunction, имеющего следующий вид:
function [y1, y2, …] = fname(x1, x2, …)
Здесь fname– имя функции,х1,х2и т.д. – входные параметры,у1,у2и т.д. – выходные параметры. Входные и/или выходные параметры могут отсутствовать.
На самом деле имя функции определяется не строкой fname, а именем, под которым сохранен М-файл, оно должно совпадать с именем функции.
В качестве примера создадим функцию myfunc, которая будет строить трехмерных график предыдущего примера и принимать три входных параметра: точку начала построения графика, точку окончания построения, шаг. Для этого, открыв окно редактора командой меню File ->New->M-file, вводим текст:
function myfunc(x1, x2, step)
[X,Y]=meshgrid([x1: step : x2]);
Z=X.*exp(-X.^2-Y.^2);
mesh(X, Y, Z);
Введя текст, необходимо сохранить файл под именем myfunc.
Для того чтобы функция была доступна из системы MatLAB, система должна быть способна найти соответствующий М-файл. Поиск файлов осуществляется следующим образом: сначала просматривается текущий рабочий каталог (его имя показано в панели инструментов главного окна, рис 1.2), а затем каталоги, входящие в путь поиска (MatLABsearchpath).
Для вызова Mфайла необходимо набрать его имя в командной строкеMatLAB, и если необходимо его аргументы. Важным элементом, облегчающим программирование, являются комментарии. Строка комментария начинается вMatLABсимволом ‘%’.