Сравнение методов интерполяции
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Приведенный ниже пример сравнивает методы двумерной интерполяции в случае матрицы данных размера 7х7.

1. Сформируем функцию peaks на «грубой» сетке (с единичным шагом).

 

[x, y] = meshgrid(-3 : 1 : 3);

                                                       z = peaks(x,y);

                                                       surf( x, y, z)

где функция meshgrid (-3:1:3) задает сетку на плоскости x и y в виде двумерных массивов  размера 7х7; функция peaks (x ,y ) является двумерной функцией, используемой в MATLAB-е в качестве стандартных примеров, а surf (x ,y ,z ) строит окрашенную параметрическую повер-хность. Соответствующий график показан ниже.

 

 

 

 

2. Создадим теперь более мелкую сетку для интерполяции (с шагом 0.25).

 

[xi,yi] = meshgrid(-3:0.25:3);

 

3. Осуществим интерполяция перечисленными выше методами.

 

zi1 = interp2(x,y,z,xi,yi,'nearest');

 

zi2 = interp2(x,y,z,xi,yi,'bilinear');

 

zi3 = interp2(x,y,z,xi,yi,'bicubic');

Сравним графики поверхностей для различных методов интерполяции.

 

   surf(xi,yi,zi1)                               surf(xi,yi,zi2)                             surf(xi,yi,zi3)

Метод  ‘nearest’                         Метод  ‘bilinear’                         Метод ‘bicubic’

Интересно также сравнить линии уровней данных поверхностей, построенных при помощи специальной функции contour.

   contour(xi,yi,zi1)                        contour(xi,yi,zi2)                    contour(xi,yi,zi3)

   Метод  ‘nearest’                         Метод  ‘bilinear’                    Метод ‘bicubic’

Отметим, что бикубический метод производит обычно более гладкие контуры. Это, однако, не всегда является основной заботой. Для некоторых приложений, таких, например, как об-работка изображений в медицине, метод типа ступенчатой интерполяции может быть более предпочтительным, так как он не «производит» никаких «новых» результатов наблюдений.

Анализ данных и статистика

 

В данном разделе будут рассмотрены некоторые основные возможности системы MATLAB в области анализа данных и статистической обработки информации. Помимо базовых функ-ций, в системе MATLAB имеется также ряд специализированных пакетов, предназначенных для решения соответствующих задач в различных приложениях (на английском языке даны названия пакетов) :

· Optimization – Нелинейные методы обработки данных и оптимизация.

· Signal Processing – Обработка сигналов, фильтрация и частотный анализ.

· Spline – Аппроксимация сплайнами.

· Statistics – Углубленный статистический анализ, нелинейная аппроксимация и 

                     регрессия.

· Wavelet - Импульсная декомпозиция сигналов и изображений.

 

Внимание ! MATLAB выполняет обработку данных, записанных в виде двумерных массивов по столбцам ! Одномерные статистические данные обычно хранятся в отдельных векорах, причем n-мерные векторы могут иметь размерность 1х n или nх1. Для многомерных данных матрица является естественным представлением, но здесь имеются две возможности для ориентации данных. По принятому в системе MATLAB соглашению, различные пере-менные должны образовывать столбцы, а соответствующие наблюдения - строки. Поэтому, например, набор данных, состоящий из 24 выборок 3 переменных записывается в виде мат-рицы размера 24х3.

 

Дата: 2019-05-28, просмотров: 269.