Least Squares Applet v. 2.0

This entry was posted in Работа and tagged on by .

Least Squares Applet v. 2.0

Скачать программу

1. Назначение программы

Данная программа позволяет, с помощью «Метода наименьших квадратов», находить кривую, задаваемую полиномом указанного порядка, которая проходит наиболее близко от указанного набора точек двумерного пространства.

Решаемая задача заключается в следующем. Известны координаты (x_i, y_i) N точек двумерного пространства. Есть предположение, что при некоторых значениях параметров a_0, a_1, \ldots, a_k все эти точки лежат в малой окрестности кривой, задаваемой уравнением y=f(x,a_0,a_1,\ldots,a_k). «Метод наименьших квадратов» (МНК) представляет собой алгоритм отыскания этих параметров. Для найденной, с его помощью, кривой сумма квадратов отклонений точек от кривой — минимальна.

В данной программе алгоритм МНК реализован для кривых, представляемых полиномом y=a_0+a_1 x_1+\ldots+a_k x_k. Если порядок полинома k и число точек N удовлетворяют условию k \geq N-1, то найденная кривая проходит через все точки. В противном случае она проходит настолько близко к ним, насколько это возможно.

Внимание: для работы программы требуется Microsoft .NET Framework 2.0, вы можете скачать его бесплатно с сайта загрузок программного обеспечения Microsoft: http://www.microsoft.com/downloads/.

2. Описание пользовательского интерфейса

Интерфейс состоит из четырёх окон, которые могут быть спрятаны и вновь открыты с помощью меню Windows в верхней части экрана. Первое из них, «Points Input», позволяет вводить и редактировать массив координат точек, которые автоматически отображаются на графике в окне «Plot». Окно «Fit Options» позволяет включить/отключить расчёт МНК кривой и выбрать порядок k задающего её многочлена. В этом же окне выводятся значения найденных коэффициентов a_i. Их число может быть меньше k в том случае, когда полином меньшего порядка позволяет описать введённый набор точек. Рассчитываемая кривая, если опция «Perform polynomial fit» включена, автоматически отображается на графике «Plot» и обновляется при изменении массива точек и порядка полинома. Последнее окно, «About», содержит краткую информацию о программе и не используется для других целей.



Рис. 1. Общий вид интерфейса программы.

3. Известные проблемы

Хотя программа позволяет выбрать любой порядок k аппроксимирующего полинома, при больших значениях k может наблюдаться существенные отклонения построенной МНК кривой от введённых точек и, даже, аварийная остановка программы. Это вызвано тем, что при использовании полинома порядка k в ходе выполнения программы вычисляются степени абсцисс точек, вплоть до x_i^k. Поэтому, при больших k и больших значениях абсцисс некоторых точек, при вычислении таких степеней могут возникать большие ошибки и переполнения буфера. Кроме того, некоторые проблемы возможны при наличии нескольких разных точек с одинаковыми абсциссами.

Поскольку данная версия программы написана в качестве упражнения для саморазвития, решению этих проблем внимание было решено не уделять. Тем не менее это не мешает использовать программу для серьёзных расчетов, поскольку точность определения МНК кривой всегда может быть проконтролирована визуально с помощью графика «Plot», а также поскольку во многих случаях требуется построение кривых с низкими порядками k = 1 и 2.

Любые вопросы, предложения и пожелания могут быть направлены по адресу msupsg@yandex.ru, с пометкой «Least Squares Applet».

This entry was posted in Работа and tagged on by .

Least Squares Applet v. 2.0

Скачать программу

1. Назначение программы

Данная программа позволяет, с помощью «Метода наименьших квадратов», находить кривую, задаваемую полиномом указанного порядка, которая проходит наиболее близко от указанного набора точек двумерного пространства.

Решаемая задача заключается в следующем. Известны координаты (x_i, y_i) N точек двумерного пространства. Есть предположение, что при некоторых значениях параметров a_0, a_1, \ldots, a_k все эти точки лежат в малой окрестности кривой, задаваемой уравнением y=f(x,a_0,a_1,\ldots,a_k). «Метод наименьших квадратов» (МНК) представляет собой алгоритм отыскания этих параметров. Для найденной, с его помощью, кривой сумма квадратов отклонений точек от кривой — минимальна.

В данной программе алгоритм МНК реализован для кривых, представляемых полиномом y=a_0+a_1 x_1+\ldots+a_k x_k. Если порядок полинома k и число точек N удовлетворяют условию k \geq N-1, то найденная кривая проходит через все точки. В противном случае она проходит настолько близко к ним, насколько это возможно.

Внимание: для работы программы требуется Microsoft .NET Framework 2.0, вы можете скачать его бесплатно с сайта загрузок программного обеспечения Microsoft: http://www.microsoft.com/downloads/.

2. Описание пользовательского интерфейса

Интерфейс состоит из четырёх окон, которые могут быть спрятаны и вновь открыты с помощью меню Windows в верхней части экрана. Первое из них, «Points Input», позволяет вводить и редактировать массив координат точек, которые автоматически отображаются на графике в окне «Plot». Окно «Fit Options» позволяет включить/отключить расчёт МНК кривой и выбрать порядок k задающего её многочлена. В этом же окне выводятся значения найденных коэффициентов a_i. Их число может быть меньше k в том случае, когда полином меньшего порядка позволяет описать введённый набор точек. Рассчитываемая кривая, если опция «Perform polynomial fit» включена, автоматически отображается на графике «Plot» и обновляется при изменении массива точек и порядка полинома. Последнее окно, «About», содержит краткую информацию о программе и не используется для других целей.

Рис. 1. Общий вид интерфейса программы.

3. Известные проблемы

Хотя программа позволяет выбрать любой порядок k аппроксимирующего полинома, при больших значениях k может наблюдаться существенные отклонения построенной МНК кривой от введённых точек и, даже, аварийная остановка программы. Это вызвано тем, что при использовании полинома порядка k в ходе выполнения программы вычисляются степени абсцисс точек, вплоть до x_i^k. Поэтому, при больших k и больших значениях абсцисс некоторых точек, при вычислении таких степеней могут возникать большие ошибки и переполнения буфера. Кроме того, некоторые проблемы возможны при наличии нескольких разных точек с одинаковыми абсциссами.

Поскольку данная версия программы написана в качестве упражнения для саморазвития, решению этих проблем внимание было решено не уделять. Тем не менее это не мешает использовать программу для серьёзных расчетов, поскольку точность определения МНК кривой всегда может быть проконтролирована визуально с помощью графика «Plot», а также поскольку во многих случаях требуется построение кривых с низкими порядками k = 1 и 2.

Любые вопросы, предложения и пожелания могут быть направлены по адресу msupsg@yandex.ru, с пометкой «Least Squares Applet».

One thought on “Least Squares Applet v. 2.0

  1. Pingback: Least Squares Applet v. 1.0 | Гнездо Хищной Птицы

Leave a Reply

Your email address will not be published. Required fields are marked *