Техника

Вопрос по математике (определить параметры мат. модели)

Мне надо написать программу на VBA определения параметра математической модели у=ах1 + bx2^2 по экспериментальным данным (даны х1, х2, у) и вычислить критерий рассогласования. Кто нибудь, кто хорошо знает математику, подскажите каким способом это решается?
Как я понимаю задачу, у Вас есть набор экмпериментально измеренных величин, из который х1 и х2 принимаются за независимые переменные, а у -- в качестве зависимой. У Вас нет значений коэффициентов а и b, и Ваша задача найти такие а и b, которые наилучшим образом приближали бы опытные данные. Если я правильно понял задачу, то у Вас не один параметр задачи (как это утверждает г-н Попов) , а два. И Вам надо из найти.

Я не знаю, сколько опытных точек у Вас есть, но предполагаю, что больше двух. Это важно знать вот почему. Если бы у Вас были две точки, т. е. два набора (х1,х2,у) , то у Вас была бы замкнутая задача -- два линейных уравнения относительно а и b, и тогда эти параметры определялись бы однозначно решением этой системы (правилом Крамера, например, или методом Гаусса) .

Если же у Вас больше двух наборов (х1,х2,у) , то это ситуация, про которую говорят, что система переопределена (по английски -- overdetermined). Иными словами, количество уравнений больше количества неизвестных. В редких случаях, часть уравнений является линейной комбинацией остальных, но в Вашем случае, скорее всего, все уравнения независимы. МОжет оказаться, что какие-то уравнения слишком противоречат друг другу, но это также бывает редко.

В случае переопределённых систем, обычно используют матричный метод или методы регрессионного анализа. Вот выдержка из Википедии:

"В силу отсутствия точного решения переопределённых систем, на практике принято вместо него отыскивать вектор, наилучшим образом удовлетворяющий всем уравнениям, то есть минимизирующий норму невязки системы в какой-нибудь степени. Этой проблеме посвящён отдельный раздел математической статистики - регрессионный анализ. Наиболее часто минимизируют квадрат отклонений от оцениваемого решения. Для этого применяют так называемый метод наименьших квадратов. "

Суть матричного метода, которым я не раз пользовался, состоит в том, чтобы подобрать матрицу, умножение на которую Вашей системы давало бы квадратную матрицу, котору уже можно обратить, что и будет решением системы. Однако, есть бесконечное число таких матриц, и искусстсво заключается в том, чтобы найти наилучшую. Это процесс можно автоматизировать так, чтобы программа подбирала, скажем, сотню разных матриц. Тогда получится сотня разных решений. Подставляя их в изначальную систему, и применяя метод наименьших квадратов, можно найти наилучшие кэффициенты.
RH
Rafiq Heydarov
4 667
Лучший ответ
Нахождением экстремумов.
Таня Рибалка
Таня Рибалка
81 488
Параметром Вашей мат. модели будет единственная неэкспериментальная величина - a. Вам надо всего лишь написать программу, где будут вводиться данные (x1,y2,y), вычисляться a=(y-bx2^2)/x1 (с проверкой, что x1<>0) и выводиться результат (a=...) в окошко.
P.s. Математика здесь ни причем.. . Не надо здесь никакой интерполяции - у Вас и так многочлен, причем конечный.
Как говорил великий Ленин: "Учиться, учиться и учиться". Так что думай сам, а не надейся на доброго дяденьку.