Данные модели Используя регрессию и Curve Fitting

В этом примере показано, как выполнить регрессию данных MATLAB® и аппроксимирование кривыми в Microsoft® Excel® с помощью рабочего листа и макроса VBA.

Пример организует и отображает входные и выходные данные в рабочем листе Microsoft Excel. Функции Spreadsheet Link™ копируют данные в рабочее пространство MATLAB и выполняют MATLAB вычислительные и графические функции. Макрос VBA также возвращает выходные данные в рабочий лист.

Чтобы работать с кодом VBA в Excel с Spreadsheet Link, необходимо включить Spreadsheet Link как ссылку в Редакторе Microsoft Visual Basic®. Для получения дополнительной информации смотрите Установку.

Откройте ExliSamp.xls файл и выбор рабочий лист Sheet1. Для справки, находящей ExliSamp.xls файл, смотрите Установку.

Sheet1 электронной таблицы содержит именованную область значений DATA, который состоит из набора данных в качестве примера в ячейках A4 рабочего листа через C28.

Sheet1 contains the code for Spreadsheet Link functions in the cells of
                            column E

Данные модели в рабочем листе

Чтобы выполнить регрессию и аппроксимирование кривыми, выполните заданные функции Spreadsheet Link в ячейках рабочего листа.

  1. Выполните функцию Spreadsheet Link, которая копирует набор выборочных данных в рабочее пространство MATLAB путем двойного клика по ячейке E5 и нажатие Enter. Набор данных содержит 25 наблюдений за тремя переменными. Среди наблюдений существует сильная линейная зависимость. На самом деле они близко к тому, чтобы быть скалярными множителями друг друга.

  2. Выполните функции в ячейках E8, E9, и E10. Функции Spreadsheet Link в этих ячейках регрессируют третий столбец данных по другим двум столбцам и создают:

    • Один векторный y содержа данные третьего столбца

    • Матричный A с тремя столбцами, который состоит из столбца 1 с, сопровождаемой остальной частью данных

  3. Выполните функцию в ячейке E13. Эта функция вычисляет коэффициенты регрессии при помощи наклонной черты влево MATLAB (\) операция, чтобы решить сверхрешительную систему линейных уравнений, A*beta = y.

  4. Выполните функцию в ячейке E16. Матричное векторное умножение MATLAB приводит к регрессировавшему результату, fit.

  5. Выполните функции в ячейках E19, E20, и E21. Эти функции:

    1. Сравните исходные данные с fit.

    2. Сортировка данных в увеличивающемся порядке и применяет то же сочетание к fit.

    3. Создайте скаляр для количества наблюдений.

  6. Выполните функции в ячейках E24 и E25. Соответствуйте полиномиальному уравнению к данным для полинома пятой степени. polyfit MATLAB функция автоматизирует подготовку системы одновременных линейных уравнений и решений для коэффициентов. polyval функция затем оценивает получившийся полином в каждой точке данных, чтобы проверять совершенство подходящего newfit.

  7. Выполните функцию в ячейке E28. plot MATLAB функциональные графики исходные данные (синие круги), регрессировавший результат fit (пунктирная красная линия), и полиномиальный результат (чисто зеленая линия).

    Figure window contains graph with original data, regressed result,
                                and polynomial result

    Поскольку данные тесно сопоставляются, но не точно линейно зависимые, fit изогнитесь (пунктирная линия) показывает завершение, но не точный, подходящий. Полином пятой степени изгибает newfit более точная математическая модель для данных.

Данные модели Используя макрос VBA

Чтобы смоделировать данные с помощью макроса VBA, выполните функции Spreadsheet Link в макросе VBA.

  1. В ExliSamp.xls файл, кликните по вкладке Sheet2. Рабочий лист для этого примера появляется.

    Worksheet cells A7 through A31 are empty cells for the y variable,
                                cells B7 through B31 are empty cells for the fit variable, and cells
                                C7 through C31 are empty cells for the newfit variable.

    Ячейка A4 вызывает макро-CurveFit, который можно исследовать в среде Microsoft Visual Basic.

    ExliSamp.xls - Module 1 (Code) window contains the VBA code for the
                                CurveFit function with arguments aData, sTarget1, sTarget2, and
                                sTarget3

    В то время как этот модуль открыт, гарантируйте, что дополнение Spreadsheet Link включено. Чтобы включить его, смотрите Дополнительного Setup. После того, как дополнение включено, Проводник Проекта перечисляет его под папкой References.

  2. Выполните CurveFit макрос путем двойного клика по ячейке A4 и нажатие Enter. Макрос запускает функции Spreadsheet Link. Когда макрос заканчивается, входные и выходные данные появляются в ячейках A7:C31 рабочего листа.

    • Столбец A содержит исходные данные y (отсортированный).

    • Столбец B содержит регрессировавшие данные соответствия fit.

    • Столбец C содержит полиномиальные данные newfit.

    Worksheet cells A7 though A31 contain the data for the y
                                    variable, cells B7 through B31 contain the regressed data for
                                    the fit variable, and cells C7 through C31 contain polynomial
                                    data for the newfit variable.

Смотрите также

| | | | |

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте