Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety_k_ekzamenu.doc
Скачиваний:
63
Добавлен:
20.04.2019
Размер:
747.01 Кб
Скачать

43. Аппроксимация функции,заданной таблично.Метод наименьших квадратов.Аппроксимировать экспериментальные данные степенной

функцией в MATHCAD.

Пусть, изучая неизвестную функциональную зависимость между x и y в результате серии экспериментов, получена таблица значений.

Задача состоит в том, чтобы найти приближенную зависимость y=g(x), значение которой при х=хi (i=1,n) мало отличалось от табличных значений yi.

Приближенная зависимость y=g(x), полученная на основании экспериментальных данных называется эмпирической формулой.

Построение эмпирической формулы состоит из двух этапов:

1) Подбор общего вида формулы

2) Определение наилучших значений содержащихся в ней параметров.

Выбор эмпирической зависимости осуществляется из геометрических соображений:

-координаты экспериментальных точек наносятся на график – приблизительно угадывается зависимость путем сравнения полученного графика с графиками известных функций. Расчет параметров эмпирической зависимости в большинстве случаев осуществляется МНК (методом наименьших квадратов).

В общем случае в МНК для аппроксимации используется многочлен g(x)=a0+a1*x+a2*x2+….amxm. При этом стараются подобрать степень полинома как можно меньше (2-3). Мерой отклонения многочлена g(x) от табличных точек является среднеквадратична разность, равная сумме квадратов разностей между значениями многочлена и табличной функции.

В этом функционале неизвестными являются a0….an. Задачей является поиск minS, т.е. минимума функции S, зависящей от многих переменных. Свободные коэффициенты необходимо найти из условия минимизации функции (равенства первых производных)

Т аким образом получается система m линейных уравнений.

45. Аппроксимация функции,заданной таблично.Метод наименьших квадратов.Аппроксимировать экспериментальные данные логарифмической функцией в mathcad.

Пусть, изучая неизвестную функциональную зависимость между x и y в результате серии экспериментов, получена таблица значений.

Задача состоит в том, чтобы найти приближенную зависимость y=g(x), значение которой при х=хi (i=1,n) мало отличалось от табличных значений yi.

Приближенная зависимость y=g(x), полученная на основании экспериментальных данных называется эмпирической формулой.

Построение эмпирической формулы состоит из двух этапов:

1) Подбор общего вида формулы

2) Определение наилучших значений содержащихся в ней параметров.

Выбор эмпирической зависимости осуществляется из геометрических соображений:

-координаты экспериментальных точек наносятся на график – приблизительно угадывается зависимость путем сравнения полученного графика с графиками известных функций. Расчет параметров эмпирической зависимости в большинстве случаев осуществляется МНК (методом наименьших квадратов).

В общем случае в МНК для аппроксимации используется многочлен g(x)=a0+a1*x+a2*x2+….amxm. При этом стараются подобрать степень полинома как можно меньше (2-3). Мерой отклонения многочлена g(x) от табличных точек является среднеквадратична разность, равная сумме квадратов разностей между значениями многочлена и табличной функции.

В этом функционале неизвестными являются a0….an. Задачей является поиск minS, т.е. минимума функции S, зависящей от многих переменных. Свободные коэффициенты необходимо найти из условия минимизации функции (равенства первых производных)

Таким образом получается система m линейных уравнений.

Аппроксимация полулогарифмической зависимостью:

Аппроксимация полулогарифмической зависимости:

Составление программы для аппроксимации полулогарифмической зависимости осуществляется на основе программы аппроксимации линейной зависимостью. Аппроксимирующая формула имеет вид:

y=a0a1*log(x)

CLS

n = 7

DIM x(1 TO n)

DIM y(1 TO n)

DIM yr(1 TO n)

FOR i = 1 TO n

READ x(i)

NEXT i

DATA 1.01,2.1,3.5,4.25,5.7,6.9,8

FOR i = 1 TO n

READ y(i)

NEXT i

DATA 0.626,0.799,1.092,1.291,1.784,2.332,2.98

s1 = 0: s2 = 0: s3 = 0: s4 = 0

FOR i = 1 TO n

s1 = s1 + x(i)

s2 = s2 + 1 / (y(i))

s3 = s3 + (x(i)) ^ 2

s4 = s4 + x(i) / y(i)

NEXT i

d = n * s3 - s1 ^ 2

d1 = s2 * s3 - s1 * s4

d2 = n * s4 - s1 * s2

a0 = d1 / d

a1 = d2 / d

PRINT "a0="; a0

PRINT "a1="; a1

s = 0

FOR i = 1 TO n

yr(i) = a1 / (a0 + a1 * x(i))

s = s + (y(i) - yr(i)) ^ 2

PRINT "tablichni0e y("; i; ")"; y(i)

PRINT "raschetnie y("; i; ")"; yr(i)

NEXT i

PRINT "summa kvadratov otklonenii"; s

END

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]