Очень часто при анализе эмпирических данных необходимо найти явную функциональную зависимость между двумя величинами и , полученными в результате измерений. Поскольку опытные данные всегда содержат ошибки, то строить интерполяционный многочлен не рационально, так как при интерполяции ошибки повторяются. Желательно по возможности сгладить и минимизировать ошибки наблюдений. Этот результат достигается построением многочлена наилучшего среднего квадратического приближения по методу наименьших квадратов.
Итак, если аппроксимируется многочленом вида , так что система базисных функций имеет вид , то неизвестные коэффициенты многочлена по методу наименьших квадратов определяются из решения системы (3.1.7).
В подразделе 3.1 описан пример «ручного» вычисления коэффициентов линейной и квадратичной модели по методу наименьших квадратов. Решим аналогичную задачу средствами пакета Mathcad различными способами. Сформируем вначале вектора исходных данных.
В алгебре матриц в среде Mathcad доступны несколько очень удобных встроенных функций, например, submatrix, stack и augment. Функция извлекает из матрицы подматрицу, содержащуюся в со строки по строку и со столбца с номером по номер . Функции , наоборот, формируют одну матрицу из двух. После работы получается массив, сформированный расположением над , при этом матрицы и должны иметь одинаковое число столбцов. Функция располагает матрицы и рядом, справа от ; эти матрицы должны иметь одинаковое число строк.
|
|
Введем с клавиатуры
Функции возвращают число столбцов и строк матрицы , соответственно наименьшее и наибольшее значение элементов в , - число элементов в векторе , - индекс последнего элемента в векторе с учетом значения переменной .
Построим линейную и квадратичную модель по формулам (3.1.8) и (3.1.9). Для этого вычислим следующие величины. Введем еще одну предопределенную переменную пакета Mathcad . Она определяет допустимую погрешность для различных алгоритмов аппроксимации, интегрирования, решения уравнений и так далее. По умолчанию . Вычислим следующие величины:
Коэффициенты системы нормальных уравнений линейной модели, то есть системы (3.1.8), находятся в матрице , коэффициенты квадратичной модели (3.1.9) - в матрице . Решение обеих систем линейных уравнений произведено с помощью обратной матрицы. Вектор содержит коэффициенты линейной модели, вектор - квадратичной.
Далее вычисляются невязки по обеим моделям и находятся средние квадратические ошибки . Видно, что исходным данным хорошо удовлетворяет квадратичная модель Этот факт отчетливо виден и на приведенном графике.
|
|
Mathcad не назывался бы математическим пакетом, если бы не умел решать алгебраические системы различными, в том числе и более эффективными способами. Одним из таких способов является конструкция Given – Find. Это две команды: Given (Дано) и Find (Найти). Сначала задается какое-нибудь начальное приближение, например, для квадратичной модели
затем за ключевым словом Given нужно записать анализируемую систему, связывая левые и правые части уравнений знаком «эквивалентно» (жирным знаком «равно» из панели равенств и отношений или же нажимая сразу обе клавиши ), после этого должно идти второе ключевое слово Find. Эта функция возвращает решение анализируемой системы:
Неудобство применения пары Given – Find в том, что решаемая система уравнений должна быть записана в скалярной форме. Вместо функции Find можно использовать пару Given – MinErr. Функция дает решение системы уравнений, которое приводит к минимальным невязкам. Число неизвестных системы должно быть равно числу аргументов функции MinErr. В нашем случае
Наконец, для решения линейных систем алгебраических уравнений можно использовать встроенную функцию lsolve. Она возвращает вектор решения системы, записанной в матричном виде:
Заметим, что функцию lsolve можно использовать в программируемых конструкциях, тогда как пары Given – Find и Given – MinErr этого не допускают.
Приведем в заключение подпрограмму, реализующую вычисления по формуле (3.1.7) в общем случае коэффициентов сглаживающего многочлена заданной степени. Все операторы этой подпрограммы легко отождествляются с той или иной частью формулы (3.1.7). Параметры подпрограммы: - вектора исходных данных, - число точек сетки таблично заданной функции, - требуемая степень сглаживающего многочлена. В результате работы подпрограмма МНК выдает вектор коэффициентов многочлена , записанных в следующем порядке: . Последняя компонента вектора результата содержит среднюю квадратическую ошибку представления исходных табличных данных построенным сглаживающим многочленом:
Для нашего примера
Видно, что для исходной таблично заданной функции многочленом наилучшего приближения является уже полученный ранее многочлен второй степени . Дальнейшее усложнение модели (повышение степени многочлена) практически не изменяет среднюю квадратическую ошибку и, следовательно, не является оправданным.
Задание № 1. По методу наименьших квадратов аппроксимировать таблично заданную функцию многочленом наилучшего среднеквадратического приближения .
Т а б л и ц а 1
Номера вариантов | ||||||||||
0.1 | 3.15 | 20.95 | 2.20 | 6.00 | 3.13 | 0.07 | 12.28 | -9.10 | 9.84 | 3.09 |
0.2 | 3.04 | 20.51 | 2.18 | 7.04 | 3.19 | 0.17 | 12.53 | -9.21 | 10.01 | 3.31 |
0.3 | 3.02 | 21.96 | 1.87 | 7.21 | 3.17 | 0.21 | 12.50 | -8.99 | 11.10 | 3.72 |
0.4 | 2.97 | 21.83 | 1.85 | 7.40 | 3.52 | 0.31 | 12.53 | -8.95 | 12.16 | 3.77 |
0.5 | 2.87 | 21.79 | 1.77 | 7.20 | 3.62 | 1.10 | 12.75 | -9.13 | 13.05 | 3.78 |
0.6 | 2.98 | 22.72 | 1.62 | 7.70 | 3.72 | 1.09 | 12.85 | -9.23 | 14.35 | 3.97 |
0.7 | 2.81 | 25.80 | 1.57 | 7.36 | 4.03 | 1.12 | 12.77 | -9.21 | 15.19 | 4.00 |
0.8 | 2.70 | 27.33 | 1.27 | 7.61 | 4.39 | -0.37 | 12.76 | -9.43 | 15.50 | 4.51 |
0.9 | 2.66 | 28.21 | 1.05 | 7.56 | 4.72 | -0.22 | 12.73 | -9.57 | 15.74 | 4.43 |
1.0 | 2.50 | 30.45 | 0.68 | 7.50 | 4.85 | -0.48 | 12.85 | -9.44 | 16.03 | 4.58 |
1.1 | 2.60 | 30.37 | 0.55 | 7.51 | 5.12 | -0.84 | 12.51 | -9.44 | 16.56 | 4.58 |
1.2 | 2.36 | 34.51 | -0.10 | 7.53 | 5.38 | -0.93 | 12.34 | -9.83 | 17.49 | 4.54 |
1.3 | 2.09 | 36.29 | -0.41 | 7.45 | 5.96 | -1.15 | 12.22 | -9.78 | 17.79 | 4.82 |
1.4 | 2.07 | 38.53 | -1.00 | 7.27 | 6.40 | -1.44 | 11.84 | -9.81 | 18.03 | 4.90 |
1.5 | 2.01 | 41.90 | -1.19 | 7.20 | 6.58 | -1.90 | 11.67 | -10.06 | 18.82 | 4.77 |
1.6 | 1.81 | 44.52 | -1.56 | 7.25 | 7.09 | -2.25 | 11.27 | -10.41 | 19.50 | 4.81 |
1.7 | 1.53 | 48.91 | -2.08 | 7.35 | 7.32 | -2.65 | 11.06 | -10.40 | 20.28 | 5.00 |
1.8 | 1.64 | 50.68 | -2.61 | 6.97 | 7.94 | -3.06 | 10.73 | -10.70 | 21.21 | 4.97 |
1.9 | 1.29 | 56.36 | -3.37 | 7.20 | 8.47 | -3.66 | 10.35 | -10.96 | 22.63 | 5.08 |
2.0 | 1.11 | 59.14 | -3.86 | 7.06 | 9.00 | -4.01 | 10.09 | -11.91 | 22.90 | 5.08 |
Т а б л и ц а 2
Номера вариантов | ||||||||||
0.1 | 8.15 | -6.90 | 0.17 | 3.30 | 1.04 | 0.08 | 3.09 | -0.86 | 0.00 | -0.65 |
0.3 | 8.41 | -7.01 | 0.07 | 2.49 | 1.47 | 0.14 | 3.25 | -0.77 | -0.09 | -1.00 |
0.5 | 8.58 | -7.19 | 0.17 | 3.02 | 1.78 | 0.37 | 3.48 | -0.56 | -0.26 | -0.87 |
0.7 | 8.84 | -7.11 | 0.05 | 3.27 | 2.01 | 0.36 | 3.47 | -0.46 | -0.20 | -0.89 |
0.9 | 9.28 | -7.31 | 0.12 | 3.43 | 2.19 | 0.44 | 3.55 | -0.28 | -0.29 | -0.75 |
1.1 | 9.46 | 7.78 | 0.00 | 3.70 | 2.60 | 0.48 | 3.59 | -0.24 | -0.14 | -0.59 |
1.3 | 10.02 | -7.64 | 0.01 | 3.70 | 2.93 | 0.27 | 3.28 | -0.36 | -0.26 | -0.44 |
1.5 | 10.11 | -7.85 | -0.05 | 3.85 | 3.22 | 0.39 | 3.50 | -0.43 | -0.45 | -0.61 |
1.7 | 10.61 | -8.18 | -0.21 | 3.89 | 3.50 | 0.50 | 3.61 | -0.56 | -0.43 | -0.17 |
1.9 | 11.03 | -8.39 | -0.50 | 3.98 | 4.01 | 0.48 | 3.59 | -0.59 | -0.71 | 0.13 |
2.1 | 11.34 | -8.79 | -0.50 | 4.02 | 4.22 | 0.69 | 3.80 | -0.70 | -0.70 | 0.53 |
2.3 | 11.86 | -9.02 | -0.86 | 4.21 | 4.71 | 0.50 | 3.61 | -1.01 | -1.00 | 0.67 |
2.5 | 12.33 | -9.48 | -1.24 | 4.22 | 5.23 | 0.31 | 3.42 | -1.03 | -1.01 | 1.00 |
2.7 | 12.81 | -9.93 | -1.47 | 4.37 | 5.78 | 0.37 | 3.48 | -1.47 | -1.17 | 1.34 |
2.9 | 13.21 | -10.26 | -1.79 | 4.36 | 6.27 | 0.43 | 3.54 | -1.68 | -1.39 | 1.49 |
3.1 | 13.67 | -10.91 | -2.25 | 4.39 | 6.75 | 0.33 | 3.44 | -1.93 | -1.22 | 1.81 |
3.3 | 14.23 | -11.41 | -2.55 | 4.54 | 7.16 | 0.31 | 3.42 | -2.28 | -1.43 | 2.37 |
3.5 | 14.68 | -11.91 | -3.18 | 4.33 | 7.76 | 0.09 | 3.20 | -2.53 | -1.81 | 2.72 |
3.7 | 15.35 | -12.30 | -3.60 | 4.54 | 8.30 | 0.08 | 3.19 | -2.93 | -1.84 | 3.03 |
3.9 | 15.93 | -13.00 | -3.93 | 4.53 | 9.00 | 0.03 | 3.14 | -3.07 | -1.99 | 3.51 |
Т а б л и ц а 3
|
|
Номера вариантов | ||||||||||
0.15 | 0.16 | 1.89 | -1.92 | 1.10 | -2.80 | 0.00 | 4.01 | 0.12 | 4.13 | 2.97 |
0.30 | 0.02 | 2.07 | -1.60 | 1.20 | -2.66 | 0.01 | 4.06 | 0.31 | 4.11 | 3.07 |
0.45 | 0.28 | 2.30 | -1.57 | 1.18 | -2.36 | 0.24 | 3.88 | 0.48 | 3.87 | 3.04 |
0.60 | 0.42 | 2.26 | -1.41 | 1.14 | -2.41 | 0.74 | 3.98 | 0.45 | 3.74 | 3.30 |
0.75 | 0.31 | 2.34 | -1.36 | 1.17 | -2.13 | 1.02 | 4.36 | 0.84 | 3.85 | 3.27 |
0.90 | 0.41 | 2.66 | -0.97 | 1.00 | -1.82 | 1.31 | 4.18 | 0.73 | 3.71 | 3.54 |
1.05 | 0.42 | 2.88 | -0.59 | 0.99 | -1.74 | 1.53 | 4.16 | 0.77 | 3.53 | 3.79 |
1.20 | 0.36 | 2.85 | -0.71 | 0.95 | -1.76 | 1.90 | 4.51 | 0.64 | 3.56 | 4.07 |
1.35 | 0.45 | 3.16 | -0.15 | 0.54 | -1.64 | 2.29 | 4.53 | 0.74 | 3.19 | 4.30 |
1.50 | 0.65 | 3.49 | 0.01 | 0.32 | -1.46 | 2.61 | 4.38 | 0.53 | 3.04 | 4.51 |
1.65 | 0.67 | 3.88 | 0.22 | 0.15 | -1.30 | 3.15 | 4.76 | 0.28 | 2.83 | 4.83 |
1.80 | 0.53 | 4.22 | 0.63 | 0.02 | -1.27 | 3.42 | 4.66 | 0.24 | 2.54 | 5.06 |
1.95 | 0.50 | 4.45 | 1.07 | -0.30 | -1.22 | 3.89 | 4.82 | 0.00 | 2.41 | 5.40 |
2.10 | 0.35 | 4.99 | 1.42 | -0.40 | -1.11 | 4.58 | 4.77 | 0.03 | 1.97 | 5.83 |
2.25 | 0.35 | 5.36 | 1.68 | -0.90 | -1.02 | 4.82 | 5.12 | 0.35 | 1.78 | 6.54 |
2.40 | 0.13 | 5.71 | 2.49 | -1.37 | 0.89 | 5.42 | 5.23 | 0.46 | 1.53 | 6.68 |
2.55 | 0.39 | 6.51 | 2.57 | -1.65 | 0.89 | 6.07 | 5.40 | 0.88 | 1.04 | 7.36 |
2.70 | 0.14 | 7.35 | 3.09 | -2.00 | -1.02 | 6.44 | 5.84 | 1.27 | 0.86 | 7.91 |
2.85 | 0.14 | 8.02 | 3.40 | -2.42 | 0.97 | 7.15 | 5.86 | 1.68 | 0.48 | 8.39 |
3.00 | 0.09 | 8.96 | 4.00 | -3.13 | 0.99 | 7.66 | 6.01 | 1.98 | -0.09 | 8.98 |