Данные модели с использованием регрессии и Аппроксимирования кривыми

В этом примере показано, как выполнить 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. Аппроксимируйте полиномиальное уравнение к данным для полинома пятой степени. MATLAB polyfit функция автоматизирует настройку системы одновременных линейных уравнений и решений для коэффициентов. polyval затем функция оценивает полученный полином в каждой точке данных, чтобы проверить качество подгонки newfit.

  7. Выполните функцию в камеру E28. MATLAB plot функция графизирует исходные данные (синие круги), регрессированный результат 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 надстройки. После включения надстройки Project Explorer перечисляет ее в папке 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.

См. также

| | | | |

Похожие темы