
- •Тема 1. Назначение и структура matlab
- •2.Сравнение matlab с другими математическими пакетами
- •3.Интерфейс пользователя пакета matlab
- •4.Шесть основных компонент интерфейса пользователя matlab
- •6.Восстановление расположения окон интерфейса matlab
- •7.Назначение окна Command Window
- •8.Назначение окна Workspace Browser
- •9.Назначение окна Current Directory
- •Назначение окна Command History
- •Назначение окна Figure
- •Назначение окна m-file Editor
- •Назначение Help & Demo
- •Интерактивный режим работы.
- •Составные части командного окна Command Window.
- •Приглашающий символ командной строки.
- •Разделение логической команды на несколько физических строк.
- •Получение интерактивной справки.
- •Вывод списка всех переменных рабочего пространства Workspace.
- •4) 2.4.1. Вектор-строки
- •5) При задании матрицы
- •Операторы управления: операторы ветвления и операторы цикла
- •Условный оператор if
- •Оператор переключения switch
- •Оператор for
- •Оператор цикла while
- •Операторы break,continue
- •Векторизация алгоритма
- •Обработка исключительных ситуаций
- •Тема 4.
- •Режимы работы MatLab
- •Типы м-файлов
- •Различия между м-сценарием и м-функцией
- •Как создать функцию в MatLab
- •Типовая структура м-файла
- •Оператор заголовка функции
- •Входные/выходные параметры функции
- •Что является признаком конца функции
- •Как оформить комментарий
- •Типы функций
- •Первичные функции
- •Подфункции
- •13Анонимные функции
- •14 Частные функции
- •15 Видимость имен функций
- •16 Проверка параметров m-функций
- •19. Устойчивые переменные
- •20 Перегрузка функции
- •21 Отладка m-функций
- •7) 5.3. Методы класса
- •13. Вывод на печать display
- •14.Дифференцирование и интегрирование: diff, int
- •15. Вычисление корней полинома
- •7) Гистограммы
- •8) Изменение свойств линии
- •9)Трехмерная графика
- •15 Вопрос
- •Пример чтения графического файла
- •Тема 7. Основы дескрипторной графики.
- •5.Графический объект Root
- •6. Графический объект Figure
- •7. Графический объект Axes
- •Тема 10
Тема 10
1 Нахождение нулей функции
Синтаксис:
z = fzero(‘<имя функции>‘, x0) z = fzero(‘<имя функции>‘, x0, tol) z = fzero(‘<имя функции>‘, x0, tol, trace)
Описание:
Функция z = fzero(‘<имя функции>‘, x0) находит нуль функции в окрестности точки x0.
Функция z = fzero(‘<имя функции>‘, x0, tol) возвращает результат с относительной погрешностью tol, задаваемой пользователем. По умолчанию tol = eps.
Функция z = fzero(‘<имя функции>‘, x0, tol, trace) позволяет выдавать на экран терминала промежуточные результаты поиска нуля функции.
2 Поиск локальных минимумов Синтаксис: BW=imregionalmin(I)BW=imregionalmin(I, CONN) Описание: Функция BW=imregionalmin(I) вычисляет локальные минимумы массива I. На результирующем бинарном изображении BW значения 1 соответствуют тем пикселям изображения I, которые являются локальными минимумами. Размерность массива BW совпадает с размерностью I. Локальные минимумы являются связными компонентами пикселей с одинаковыми значениями интенсивности t, чьи внешние пиксели имеют значения больше чем t. По умолчанию, функция imregionalmin использует 8-связную окрестность для двумерных изображений и 26-мерную окрестность для трехмерных изображений. Для больших размерностей, функция imregionalmin использует выражение conndef(ndims(I), 'maximal'). Функция BW=imregionalmin(I, CONN) при вычислении локальных минимумов использует определение связности. Параметр CONN может принимать следующие скалярные значения. 4. Интерполяция одномерных данных Полиномами. В вычислительной математике существенную роль играет интерполяция функций, т.е. построение по заданной функции другой (как правило, более простой), значения которой совпадают со значениями заданной функции в некотором числе точек. Причем интерполяция имеет как практическое, так и теоретическое значение. На практике часто возникает задача о восстановлении непрерывной функции по ее табличным значениям, например полученным в ходе некоторого эксперимента. Для вычисления многих функций оказывается эффективно приблизить их полиномами или дробно-рациональными функциями. Теория интерполирования используется при построении и исследовании квадратурных формул для численного интегрирования, для получения методов решения дифференциальных и интегральных уравнений. 5. Интерполяция одномерных данных сплайнами. В ряде случаев очень удобна сплайновая интерполяция и аппроксимация таблично заданных функций. При ней промежуточные точки ищутся по отрезкам полиномов третьей степени — это кубическая сплайновая интерполяция. При этом обычно такие полиномы вычисляются так, чтобы не только их значения совпадали с координатами узловых точек, но также чтобы в узловых точках были непрерывны производные первого и второго порядков. Такое поведение характерно для гибкой линейки, закрепленной в узловых точках, откуда и происходит название spline (сплайн) для этого вида интерполяции (аппроксимации). Для одномерной табличной интерполяции используется функция interpl: yi = Interpl(x.Y.xi) — возвращает вектор yi, содержащий элементы, соответствующие элементам xi и полученные интерполяцией векторов х и Y. yi = interpl (x.Y.xi .method, значение величин вне пределов изменения х) — позволяет отобразить особенные точки на графике; yi = i nterpl(х, Y, xi.method.' сообщение') — позволяет изменить сообщение об особенных точках на графике. 6. Интерполяция двумерных данных функцией двух переменных. Для двумерной табличной интерполяции используется функция interp2: ZI = interp2(X,Y.Z,XI.YI) — возвращает матрицу ZI, содержащую значения функции в точках, заданных аргументами XI и YI, полученные путем интерполяции двумерной зависимости, заданной матрицами X, Y и Z. При этом X и Y должны быть монотонными. Матрицы X и Y определяют точки, в которых задано значение Z. Параметры XI и YI могут быть матрицами, в этом случае interp2 возвращает значения Z, соответствующие точкам (XI(i,j),YI(i.j)). ZI = interp2(Z,XJ.YI) — подразумевает, что Х=1:n и Y=l:m, где [m.n]=size(Z); ZI = interp2(Z,ntimes) — осуществляет интерполяцию рекурсивным методом с числом шагов ntimes; ZI = interp2(X,Y,Z.XI,YI.method) — позволяет с помощью опции method задать метод интерполяции: 'nearest' — интерполяция по соседним точкам; 'linear' — линейная интерполяция; 'cubic' — кубическая интерполяция (полиномами Эрмита); 'spline' — интерполяция сплайнами. Все методы интерполяции требуют, чтобы X и Y изменялись монотонно и имели такой же формат, как если бы они были получены с помощью функции meshgrid. 7. Решение системы линейных уравнений при помощи метода Гаусса основывается на том, что от заданной системы, переходят к системе эквивалентной, которая решается проще, чем исходная. Порядок решения задачи в MATLAB следующий: сформировать матрицу коэффициентов и вектор свободных членов заданной системы; сформировать расширенную матрицу системы, объединив и ; используя функцию rref, привести расширенную матрицу к ступенчатому виду; найти решение системы,выделив последний столбец матрицы, полученной в предыдущем пункте; выполнить вычисление ; если в результате получился нулевой вектор, задача решена верно. 8. Для нахождения определителя (детерминанта) и ранга матриц в MATLAB имеются следующие функции: det(X) — возвращает определитель квадратной матрицы X. Если X содержит только целые элементы, то результат — тоже целое число. Использование det(X)=0 как теста на вырожденность матрицы действительно только для матрицы малого порядка с целыми элементами. Для вычисления ранга используется функция rank: rank (А) — возвращает количество сингулярных чисел, которые являются большими, чем заданный по умолчанию допуск; rank(A.tol) — возвращает количество сингулярных чисел, которые превышают tol. 9. x = lscov(A,b,V) функции возвращает вектор х, являющийся решением системы уравнений A*x=b+e, где e - вектор нормально распределенных значений погрешностей с нулевым математическим ожиданием и ковариацией V. Размерность матрицы A - m?n, где m - количество наблюдений, n - число независимых переменных, m>n. Размерность матрицы V равна m?m. Матрица V должна быть положительно определенной.[x,dx] = lscov(A,b,V) функция предназначена для расчета вектора решений x системы уравнений A*x=b+e и их стандартных ошибок dx. Размерность векторов x и dx будет совпадать.Вектор х находится из условия минимизации выражения (A*x-b)'*inv(V)*(A*x-b).Классическое решение этой задачи, известное из линейной алгебры, имеет следующий вид x = inv(A'*inv(V)*A)*A'*inv(V)*b. В функции lscov использована QR декомпозиция матрицы А с последующей модификацией величины Q по заданной ковариации V.Величины стандартных ошибок рассчитываются по формулам: mse = B'*(inv(V)-inv(V)*A*inv(A'*inv(V)*A)*A'*inv(V))*B./(m-n) dx = sqrt(diag(inv(A'*inv(V)*A)*mse)). 10. Для того чтобы вычислить определенный интеграл, можно использовать функцию:int(fun, var, a, b),где fun –подынтегральная функция, а var – переменная интегрирования, a, b – пределы интегрирования. 11. Требуется найти первый следующий за нулем корень уравнения, содержащего интеграл с переменным верхним пределом:Левая часть уравнения является функцией от x. Для вычисления этой функции при заданном x, т.е. для вычисления интеграла от 0 до x , воспользуемся функцией численного интегрирования quadl. Ее первым входным аргументом должна быть подынтегральная функция, которую можно задать строковым выражением. При записи выражения необходимо использовать поэлементные операции, в нашем примере — поэлементное умножение, задаваемое точкой со звездочкой. Вторым и третьим аргументами quadl являются, соответственно, нижний и верхний пределы интегрирования. Функцию quadl вместе со своими аргументами укажем в качестве выражения для анонимной функции: >> f = @(x)quadl('exp(-t).*sin(t)-exp(t).*cos(t)',0, x);
|