- •Назначение Matlab
- •Интерфейс Matlab Структура окна рабочей среды ml
- •Основные команды главного меню ml
- •Работа с файлами
- •Редактирование файла
- •Рабочая область Workspace
- •История команд Command History
- •Вычисления в ml Особенности ввода команд и данных
- •Элементы данных в ml
- •Форматы представления результатов вычислений
- •Переменные в ml
- •Задание векторов и матриц
- •Задание матриц
- •Операции в ml
- •Арифметические операции (ао)
- •Операции отношения
- •Логические операции
- •Приоритет операций в ml
- •Элементарные функции
- •Тригонометрические функции
- •Некоторые часто используемые математические функции:
- •Особые матрицы
- •Операции с векторами и матрицами.
- •Выполнение операций с векторами
- •Выполнение операций над матрицами
- •Специальные функции для матриц
- •Действия с элементами матрицы
- •Функции, используемые для работы с векторами и матрицами
- •Действия с полиномами (многочленами)
- •Построение простейших графиков
- •Вывод нескольких графиков в одном окне.
- •Диаграммы
- •Круговые диаграммы.
- •Построение графиков в полярных координатах.
- •Трехмерная графика.
- •Пример построения сферы.
- •Программирование в ml
- •Операторы языка
- •Операторы ввода/вывода
- •Операторы цикла и условные операторы.
- •Оператор цикла с параметром
- •Оператор цикла с предусловием
- •Условный оператор
- •Оператор переключения (выбора)
- •Встроенные функции для работы с символьными данными Функция eval
- •Функция menu.
- •Создание и использование m-файлов
- •Script-файлы
- •Файлы-функции
- •Использование файлов- функций.
- •Вычисление интеграла.
- •Решение трансцендентных уравнений.
- •Решение систем дифференциальных уравнений.
Использование файлов- функций.
Файлы-функции широко используются в ML. Пользователь может с их помощью описывать свои функции для многократного выполнения, также с их помощью могут решаться следующие задачи:
построение графика функций;
численное интегрирование;
нахождение корней трансцендентного уравнения;
поиск экстремумов функци;
решение систем дифференциальных уравнений.
Построение графика.
График функции на заданном интервале, символьное выражение (формула) которой записано в файле-функции, можно построить, используя команду:
fplot(‘<имя функции>’, [<начальное. зн. инт-ла> <конечное зн. инт-ла>])
В качестве примера построим график функции х2-1 на интервале от 0 до . Для функции х2-1 напишем файл-функцию. В текстовом редакторе наберем следующий текст:
function f=func(x)
f=x.^2-1;
Сохраним его в файле с именем func.m.
Для построения графика выполним команду:
>> fplot('func',[0 pi])
Имя функции также может быть задано символьным выражением.
>> fplot('sin(x)',[0 pi])
Вычисление интеграла.
Самым простым численным методом вычисления определенных интегралов является метод трапеций, который реализован функцией trapz. Для ее использования не требуется оформление подинтегральной функции в качестве файла-функции.
Вычислим интеграл
>> x=0:pi/100:pi;
>> y=sin(x);
>> z=trapz(x,y);
z =
1.9998
Получили приближенное значение интеграла. Увеличив шаг интегрирования до pi/1000, получим более точное значение – 2.
Более точные методы реализованы в функциях quad, quad8, quadl.
Функция quad основана на квадратурной формуле Симпсона, а функция quadl предназначена для вычисления интеграла по более точным формулам Гаусса-Лейбница. Функция quad8 реализует метод Ньютона-Котеса восьмого порядка. Все три функции имеют одинаковый набор параметров.
[i,n]=quad(‘<fun>’, a, b, [tol, trace])
fun - имя файла-функции или символьное выражение, определяющее подинтегральную функцию;
a, b – пределы интегрирования;
tol – погрешность вычислений;
trace – признак; если его значение равно 1, то при выполнении функции строится график подинтегральной функции, если 0, то не строится. Последние два параметра являются необязательными.
i – значение интеграла;
n – количество значений функции, которое потребовалось вычислить для нахождения значения интеграла;
>> [i,n]=quad8('func',0,pi,1e-8,1)
i =
7.1938
n =
33
При использовании этих численных методов задаётся требуемая точность вычислений, а шаг подбирается автоматически (в отличие от функции trapz). По умолчанию точность равна 10-6.
Имя функции может быть задано символьным выражением.
>> [i,n]=quad8('sin(x)',0,pi,1e-8,0)
i =
2.0000
n =
33
Тот же интеграл можно вычислить с использованием функции quadl:
>> [i,n]=quadl('sin(x)',0,pi,1e-8,0)
i =
2.0000
n =
48
Для достижения одной и той же точности понадобилось различное количество вычислений. Можно при вызове функции не указывать выходной параметр n. Тогда команда обращения к функции будет:
>> i=quadl('sin(x)',0,pi,1e-8,0)
i =
2.0000
В этом случае не используется количество значений функции, которое потребовалось вычислить для нахождения значения интеграла.