Рефераты. Система математических расчетов MATLAB

                                                              a =

0.5318

0.9191

                                                                         - 0.2387


Следовательно, полиномиальная модель второго порядка наших данных будет иметь вид


y = 0.5318 + 0.9191t – 0.2387 t2


Оценим теперь значения модели на равноотстоящих точках (с шагом 0.1) и нанесем кривую на график с исходными данными.


                                                       T = (0 : 0.1 : 2.5)';

 

Y = [ones(size(T))  T  T.^2]*a;

 

plot(T,Y,'-',t,y,'o'); grid on

 


Очевидно, полиномиальная аппроксимация оказалась не столь удачной. Здесь можно или по-высить порядок аппроксимирующего полинома, или попытаться найти какую-либо другую функциональную зависимость для получения лучшей подгонки.

Линейно-параметрическая регрессия[1]


Вместо полиномиальной функции, можно было-бы попробовать так называемую линейно-параметрическую функцию. В данном случае, рассмотрим экспоненциальную функцию


y = a0 + a1℮-t + a2t℮-t


Здесь также, неизвестные коэффициенты a0 , a1 и a2 могут быть найдены методом наимень-ших квадратов. Составим и решим систему совместных уравнений, сформировав регресси-онную матрицу X, и применив для определения коэффициентов оператор \ :


X = [ones(size(t))    exp(- t)     t.*exp(- t)];

 

a = X\y

 

                                                                  a =

1.3974

                                                                        - 0.8988

0.4097


Значит, наша модель данных имеет вид


y = 1.3974 – 0.8988℮-t + 0.4097t℮-t


Оценим теперь, как и раньше, значения модели на равноотстоящих точках (с шагом 0.1) и на-несем эту кривую на график с исходными данными.



 


Как видно из данного графика, подгонка здесь намного лучше чем в случае полиномиальной функции второго порядка.


 

Множественная регрессия

 

Рассмотренные выше методы аппроксимации данных можно распространить и на случай бо-лее чем одной независимой переменной, за счет перехода к расширенной форме записи. До-пустим, мы измерили величину y для некоторых значений двух параметров x1 и x2 и полу-чили следующие результаты


x1 = [0.2   0.5   0.6   0.8  1.0   1.1]' ;

 

x2  = [0.1   0.3   0.4   0.9  1.1  1.4]' ;

 

y = [0.17   0.26   0.28   0.23   0.27   0.24]' ;

 

Множественную модель данных будем искать в виде


y = a0 + a1x1 + a2x2


Методы множественной регрессии решают задачу определения неизвестных коэффициентов a0 ,  a1 и a2 путем минимизации среднеквадратической ошибки приближения. Составим сов-местную систему уравнений, сформировав матрицу регрессии X и решив уравнения отно-сительно неизвестных коэффициентов, применяя оператор \ .


X = [ones(size(x1))  x1  x2];

 

a = X\y

                                                                 a =

0.1018

0.4844

-0.2847


Следовательно, модель дающая минимальную среднеквадратическую ошибку аппроксима-ции имеет вид


y = 0.1018 + 0.4844x1 – 0.2847x2


 Для проверки точности подгонки найдем максимальное значение абсолютного значения от-клонений экспериментальных и расчетных данных.


Y = X*a;

 

MaxErr = max(abs(Y - y))

 

                                                   MaxErr =

0.0038


Эта ошибка дает основание утверждать, что наша модель достаточно адекватно отражает ре-зультаты наблюдений.

Графический интерфейс подгонки кривых

 

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

  • Аппроксимирует данные используя сплайновый интерполянт, эрмитовый интерпо-лянт, или же полиномиальный интерполянт до 10 порядка включительно.
  • Осуществляет множество графических построений для заданных наборов данных.
  • Строит графики невязок (ошибок подгонки).
  • Анализирует численные результаты подгонки.
  • Осуществляет интерполяцию или экстраполяцию данных подгонки.
  • Аннотирует графики численными результатами подгонки и нормами ошибок аппроксимации.
  • Запоминает результаты подгонки и вычислений в рабочет пространстве MATLAB-а.

Основываясь на ваших конкретных задачах и приложениях, вы можете использовать ИПК, возможности, предоставляемыми командным окном, или же комбинировать эти две возмож-ности. Отметим, что ИПК предназначен только для работы с одномерными и двумерными данными.


Рассмотрение основных свойств ИПК

Общий вид ИПК показан ниже.



Для его вызова в подобном виде, нужно выполнить следующие три шага:

  1. Построить какой либо график данных.
  2. Выбрать опцию Basic Fitting из меню Tools вашего графического окна.
  3. Нажать дважды на кнопку More в нижней части ИПК.  В  результате откроется окно c тремя панелями (см. рисунок), а сама надпись заменится на Less.

Рассмотрим основные опции ИПК.

Select data (Выбор данных) – В данном окне расположен список всех переменных, построен-ных на активном графике, с которым связан ИПК (на графике может быть построено неско-лько кривых). Используйте данный список для выбора требуемого (текущего) набора дан-ных. Под текущим подразумевается тот набор данных, для которого вы хотите осуществить подгонку. За один раз вы можете осуществлять действия только с одним набором данных. С другой стороны, вы можете произвести различные подгонки для текущего набора данных за счет изменения названия этих данных. С этой целью можно воспользоваться так называемым Редактором Графиков (Plot Editor), который будет рассмотрен в дальнейшем.

Center and scale X data (Центрирование и масштабирование данных X) – Если данная опция выбрана, то данные центрируются (нуль переносится в среднее значение данных) и масшта-бируются  к единичному стандартному отклонению (делятся на исходное стандартное откло-нение). Это может потребоваться для повышения точности последующих математических вычислений. Если подгонка приводит к результатам, которые могут быть неточными, соот-ветствующее предупреждение выводится на экран.

Plot fits (Подгонка кривых) – Эта панель позволяет визуально просмотреть результаты одной или более подгонок текущего набора данных.

  • Check to display fits on figure (Отметьте методы для вывода на график) – Выберите методы подгонок, которые вы хотели бы использовать и вывести на график. Здесь имеются две основные возможности – выбор  интерполянтов и выбор полиномов. Сплайновый интерполянт использует для аппроксимации сплайны, тогда как эрми-товый интерполянт использует  специальную функцию pchip (Piecewise Cubic Hermite Interpolating Polynomial -  Кусочно-кубический Эрмитовый Интерполяционный Поли-ном). Полиномиальная подгонка использует функцию polyfit. Вы можете одновре-менно выбрать любые методы подгонки для аппроксимации ваших данных. Если ваш набор данных содержит N точек, вам следует использовать для аппроксимации поли-номы с не более чем N коэффициентами. В противном случае, ИПК автоматически приравнивает избыточное число коэффициентов нулю, что приводит к недоопреде-ленности системы. Укажем, что при этом на дисплей выдается соответствующее сооб-щение.
  • Show equations (Показать уравнения) – При выборе данной опции, уравнение подгон-ки выводится на ваш график.
  • Significant digits (Значащие разряды) – Выберите число значащих разрядов для выво-да на дисплей.
  • Plot residuals (Построить графики разностей (невязок)) – При выборе данной опции, на график выводятся разности подгонок. Под разностью подгонки понимается раз-ность между исходными данными и результатами подгонки для каждого значения ар-гумента исходных данных. Вы можете построить графики невязок как столбчатую ди-аграмму (bar plot), как график рассеяния (scatter plot), или же как линейный график. Построения можно осуществлять как в том же графическом окне, так и в отдельном. При использовании подграфиков (subplots) для построения графиков многомерных данных, графики разностей могут быть построены только в отдельном графическом окне.
  • Show norm of residuals (Показать норму разностей) – При выборе опции, на график выводятся также значения норм разностей. Норма разности является мерой качества подгонки, где меньшее значение нормы соответствует лучшему качеству. Норма рас-считывается при помощи функции norm(V,2), где V есть вектор невязок.

Numerical results (Численные результаты) – Данная панель позволяет изучать численные  характеристики каждой отдельной подгонки для текущего набора данных, без построения графиков.

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.