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

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

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

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

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

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

Чтобы выполнить регрессию и аппроксимирование кривыми, выполните заданные функции 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 (пунктирная красная линия), и полиномиальный результат (чисто зеленая линия).

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

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

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

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

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

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

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

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

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

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

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

| | | | |

Похожие темы