Обработка данных в графическом окне
⇐ ПредыдущаяСтр 5 из 5 Средства обработки данных в графическом окне Решение большинства задач интерполяции и аппроксимации функций и табличных данных обычно сопровождается их визуализацией. Она, как правило, заключается в построении узловых точек функции (или табличных данных) и в построении функции аппроксимации или интерполяции. Для простых видов аппроксимации, например полиномиальной, желательно нанесение на график формулы, полученной для аппроксимации. В MATLAB 6,0 совмещение функций аппроксимации с графической визуализацией доведено до логического конца — предусмотрена аппроксимация рядом методов точек функции, график которой построен. И все это выполняется прямо в окне редактора графики Property Editor. Для этого в позиции Tools графического окна имеются две новые команды: ñBasic Fitting - основные виды аппроксимации (регрессии); ñData Statistics - статистические параметры данных. Команда Basic Fitting открывает окно, дающее доступ к ряду видов аппроксима-- ции и регрессии: сплайновой, эрмитовой и полиномиальной со степенями от 1 (линейная аппроксимация) до 10. В том числе со степенью 2 (квадратичная аппроксимация) и 3 (кубическая аппроксимация). Команда Data Statistics открывает окно с результатами простейшей статистической обработки данных. Полиномиальная регрессия для табличных данных Рассмотрим самый характерный пример обработки данных, примерно представляющих некоторую (например, экспериментальную) зависимость вида у(х). Пусть она задана в табличной форме, причем колонки таблицы соответствуют элементам векторов X и Y одинакового размера в следующем примере: » Х=[2.4,6.8.10.12.14]; » Y=[3.76.4.4.5.1.5.56.6.6.3.6.7]; » plot(X.Y.'o'); Напомним, что последняя команда строит график узловых точек кружками (без соединения их отрезками прямых).
Рис. 6.15 показывает пример выполнения полиномиальной регрессии (аппроксимации) для степеней полинома 1, 2 и 3 (дальнейшее повышение степени полинома в данном случае уже лишено смысла, поскольку графики полиномиальной регрессии со степенью выше 3 почти не различаются).
Рис. 6.15. Пример обработки табличных данных в графическом окне
Исполнив команду Tools > Basic Fitting, можно получить окно регрессии. Оно показано на рис. 6.20 слева прямо под записью исходных команд в командной строке. В этом окне птичкой отмечены три вида полиномиальной регрессии — порядка 1 (linear — линейная), 2 (quadratic — квадратичная) и 3 (cubic — кубическая). Стоит отметить какой-либо вид регрессии, как соответствующая кривая функции регрессии (аппроксимации) появится в графическом окне. Установив птичку у параметра Show equations (Показать уравнения), можно получить в графическом окне запись уравнений регрессии (аппроксимации). Наконец, можно сместить выводимую по умолчанию легенду в место, где она не закрывала бы другие детали графика. Наконец, исполнив команду Tools > Data Statistics, можно получить окно с рядом статистических параметров данных, представленных векторами X и Y. Отметив птичкой тот или иной параметр в этом окне (оно показано на рис. 6.20 под окном графики), можно наблюдать соответствующие построения на графике, например вертикалей с минимальным, средним и максимальных значением у и горизонталей с минимальным, средним и максимальным значением х.
Оценка погрешности аппроксимации Средства обработки данных из графического окна позволяют строить столбцовый или линейчатый график погрешностей в узловых точках и наносить на эти графики норму погрешности. Норма дает статистическую оценку среднеквадрати-ческой погрешности. Чем она меньше, тем точнее аппроксимация. Для вывода графика погрешности надо установить птичку у параметра Plot residuals (График погрешностей) и в меню ниже этого параметра выбрать тип графика.
Таким образом, интерфейс графического окна позволяет выполнять эффективную обработку данных наиболее распространенными способами. Сплайновая интерполяция в графическом окне Попытка аппроксимации полиномом 8-й степени не дает положительного результата — кривая проходит внутри облака точек, совершенно не интерполируя это облако. Однако если применить сплайновую интерполяцию, то картина кардинально меняется. На этот раз кусочная линия интерполяции прекрасно проходит через все точки и поразительно напоминает синусоиду. Даже ее пики со значениями 1 и -1 воспроизводятся удивительно точно, причем и в случаях, когда на них не попадают узловые точки. Причина столь великолепного результата кроется в уже отмеченных ранее особенностях сплайновой интерполяции - она выполняется по трем ближайшим точкам, причем эти тройки точек постепенно перемещаются от начала точечного графика функции к ее концу. Кроме того, непрерывность первой и второй производных при сплайновой интерполяции делает кривую очень плавной, что характерно и для первичной функции — синусоиды. Так что данный пример просто является удачным случаем применения сплайновой интерполяции.
Рис. 6.16. Пример сплайновой интерполяции в графическом окне Мы не можем практически называть этот подход полноценной аппроксимацией, поскольку в данном случае нет единого выражения для аппроксимирующей функции. На каждом отрезке приближения используется кубический полином с новыми коэффициентами. Поэтому и вывода аппроксимирующей функции в поле графика не предусмотрено. Эрмитовая многоинтервальная интерполяция MATLAB 6.0 дает возможность в графическом окне использовать еще один вид многоинтервальной интерполяции на основе полиномов третьей степени Эрмита. Техника интерполяции здесь таже, что и в случае сплайновой интерполяции.
Полиномы Эрмита имеют более гибкие линии, чем сплайны. Они точнее следуют за отдельными изгибами исходной зависимости.
Рис. 6.17. Пример эрмитовой интерполяции синусойды в графическом окне Сравнение сплайновой и эрмитовой интерполяции Оба вида интерполяции в данном случае дают превосходные результаты, поскольку представляемая ими кусочная функция практически почти точно проходит через все заданные точки. Однако если учесть, что эти точки принадлежат синусоиде, то в данном случае результаты сплайновой интерполяции оказываются явно лучшими. Особенно это характерно для экстремальных точек. Поскольку в этих двух методах интерполяции кривая интерполяции проходит точно через узловые точки, в этих точках погрешности интерполяции равны нулю. Вы можете проверить это задав вывод графика погрешности. В целом, можно заключить, что сплайновая интерполяция лучше, когда нужно эффективное сглаживание быстро меняющихся от точки к точке данных и когда исходная зависимость описывается линиями, которые мы наблюдаем при построении их с помощью гибкой линейки. Эрмитова интерполяция лучше отслеживает быстрые изменения исходных данных, но имеет худшие сглаживающие свойства. Все это говорит о том, что надо внимательно подходить к оценке приемлемости того или иного вида интерполяции (или аппроксимации) для конкретных типов исходных данных.
Читайте также: DML. Изменение данных Воспользуйтесь поиском по сайту: ![]() ©2015 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|