Форматы файлов, поддерживаемые Matlab
Работа с именем файла
Перемещение данных рабочего пространства
5.Низкоуровневый файловый ввод\вывод
6.Управление файлами при организации низкоуровневого файлового ввода\вывода
7.Управление правом доступа к файлу
8.ввод\вывод бинарных файлов 9.ввод\вывод текстовых файлов
10.форматная спецификация текстовых данных
Тема 10
Нахождение нулей функции
Синтаксис:
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);
|
|