Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Форматы файлов, поддерживаемые 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);  

 


Поделиться:



Последнее изменение этой страницы: 2017-03-17; Просмотров: 547; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.013 с.)
Главная | Случайная страница | Обратная связь