Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

численные методы моделирования

.pdf
Скачиваний:
111
Добавлен:
04.06.2015
Размер:
952.31 Кб
Скачать

110

Наименование

KvadroExtInt

 

 

Функция

Вычисляет значение экстремума одномерной функции

Синтаксис

float KvadroExtInt( float (*)func( float ), float a, float b,

Прототип в

float eps )

emath.h

Описание

Подпрограмма, вычисляющая значение экстремума од-

 

номерной функции func() методом квадратичной интер-

 

поляции-экстраполяции на отрезке унимодальности от a

 

до b и расчетной точностью eps

 

 

Наименование

DelPol

 

 

Функция

Вычисляет значение экстремума одномерной функции

Синтаксис

float DelPol( float (*)func( float ), float a, float b, float eps )

Прототип в

emath.h

Описание

Подпрограмма, вычисляющая значение экстремума од-

 

номерной функции func() методом деления отрезка по-

 

полам на отрезке унимодальности от a до b и расчетной

 

точностью eps

 

 

Наименование

Au

 

 

Функция

Вычисляет значение экстремума одномерной функции

Синтаксис

float Au( float (*)func( float ), float a, float b, float eps )

Прототип в

emath.h

Описание

Подпрограмма, вычисляющая значение экстремума од-

 

номерной функции func() методом золотого сечения на

 

отрезке унимодальности от a до b и расчетной точно-

 

стью eps

 

 

Наименование

Fmin

 

 

Функция

Вычисляет значение экстремума одномерной функции

Синтаксис

float Fmin( float (*)func( float ), float a, float b, float eps )

Прототип в

emath.h

Описание

Подпрограмма, вычисляющая значение экстремума од-

111

номерной функции func() комбинированным методом на отрезке унимодальности от a до b и расчетной точно- стью eps

7.6. Библиотека подпрограмм поиска экстремума многомерной функ-

ции:

Наименование

KvItn3d

 

 

Функция

Вычисляет значение экстремума многомерной функции

Синтаксис

void KvInt3d( float (*)func( float *), int n, float h,

Прототип в

float eps, float x[], float *f )

emath.h

Описание

Подпрограмма, возвращающая значение аргументов x[]

 

и величину экстремума *f многомерной функции func()

 

с числом переменных n методом квадратичной интерпо-

 

ляции-экстраполяции с шагом h и расчетной точностью

 

eps

 

 

Наименование

SkSpusk3d

 

 

Функция

Вычисляет значение экстремума многомерной функции

Синтаксис

void SkSpusk3d( float (*)func( float * ), int n, float h,

Прототип в

float eps, float x[], float *f )

emath.h

Описание

Подпрограмма, возвращающая значение аргументов x[]

 

и величину экстремума *f многомерной функции func()

 

с числом переменных n методом скоростного цикличе-

 

ского спуска с шагом h и расчетной точностью eps

 

 

Наименование

Spusk3d

 

 

Функция

Вычисляет значение экстремума многомерной функции

Синтаксис

void Spusk3d( float (*)func( float * ), int n, float h,

Прототип в

float eps, float x[], float *f )

emath.h

Описание

Подпрограмма, возвращающая значение аргументов x[]

 

и величину экстремума *f многомерной функции func()

 

с числом переменных n методом скоростного спуска с

 

шагом h и расчетной точностью eps

112

7.7. Библиотека подпрограмм-функций по нелинейному сглаживанию данных:

Наименование

sgl3

 

 

Функция

Выполняет нелинейное сглаживание исходных данных

Синтаксис

void sgl3( float x[], int n, float y[] )

Прототип в

emath.h

Описание

Подпрограмма, выполняющая нелинейное сглаживание

 

по трем точкам исходного массива x[] с числом узлов

 

n, y[] результирующий массив

 

 

Наименование

sgl5

 

 

Функция

Выполняет нелинейное сглаживание исходных данных

Синтаксис

void sgl5( float x[], int n, float y[] )

Прототип в

emath.h

Описание

Подпрограмма, выполняющая нелинейное сглаживание

 

по пяти точкам исходного массива x[] с числом узлов

 

n, y[] результирующий массив

 

 

Наименование

sgl7

 

 

Функция

Выполняет нелинейное сглаживание исходных данных

Синтаксис

void sgl7( float x[], int n, float y[] )

Прототип в

emath.h

Описание

Подпрограмма, выполняющая нелинейное сглаживание

 

по семи точкам исходного массива x[] с числом узлов

 

n, y[] результирующий массив

7.8. Библиотека подпрограмм сортировки одномерного массива:

Наименование

Sort

 

 

Функция

Выполняет сортировку одномерного массива

Синтаксис

void Sort( float x[], int n )

Прототип в

emath.h

Описание

Подпрограмма, выполняющая сортировку методом пу-

 

зырька одномерного массива x[] с числом узлов n

113

Наименование

Sort2

 

 

Функция

Выполняет сортировку одномерных массивов

Синтаксис

void Sort2( float x[], float y[], int n )

Прототип в

emath.h

Описание

Подпрограмма, выполняющая сортировку методом пу-

 

зырька двух одномерных массивов x[] и y[] с числом уз-

 

лов n

7.9. Библиотека подпрограмм функций по расчету систем линейных ал- гебраических уравнений:

Наименование

GaussJordan

 

 

Функция

Выполняет расчет системы линейных алгебраических

 

уравнений

Синтаксис

void GaussJordan( float a[], float b[], int n, float x[] )

Прототип в

emath.h

Описание

Подпрограмма, выполняющая расчет коэффициентов

 

при неизвестных x[] системы линейных алгебраических

 

уравнений методом Гаусса-Жордана с исходной двух-

 

мерной матрицей a[][], составленной из коэффициентов

 

при неизвестных, b[] массив известных правых частей,

 

n число уравнений (неизвестных) в системе

 

 

Наименование

Zeidel

 

 

Функция

Выполняет расчет системы линейных алгебраических

Синтаксис

уравнений

void Zeidel( float a[], float b[], float z[], float eps, int n,

Прототип в

float x[] )

emath.h

Описание

Подпрограмма, выполняющая расчет коэффициентов

 

при неизвестных x[] системы линейных алгебраических

 

уравнений итерационным методом Зейделя с исходной

 

двухмерной матрицей a[][], составленной из коэффици-

 

ентов при неизвестных, b[] массив известных правых

 

частей, z[] массив начальных приближений, eps точ-

 

ность вычислений, n число уравнений в системе

114

Наименование

Gauss

 

 

Функция

Выполняет расчет системы линейных алгебраических

 

уравнений

Синтаксис

void Gauss( float a[], float b[], int n, float x[] )

Прототип в

emath.h

Описание

Подпрограмма, выполняющая расчет коэффициентов

 

при неизвестных x[] системы линейных алгебраических

 

уравнений методом Гаусса с исходной двухмерной мат-

 

рицей a[][], составленной из коэффициентов при неиз-

 

вестных, b[] массив известных правых частей, n чис-

 

ло уравнений (неизвестных) в системе

 

 

Наименование

Gauss_Gl

 

 

Функция

Выполняет расчет системы линейных алгебраических

 

уравнений

Синтаксис

void Gauss_Gl( float a[], float b[], int n, float x[] )

Прототип в

emath.h

Описание

Подпрограмма, выполняющая расчет коэффициентов

 

при неизвестных x[] системы линейных алгебраических

 

уравнений методом Гаусса с выбором главного элемента

 

с исходной двухмерной матрицей a[][], составленной из

 

коэффициентов при неизвестных, b[] массив извест-

 

ных правых частей, n число уравнений (неизвестных) в

 

системе

 

 

Наименование

Forsythe

Функция

Выполняет расчет системы линейных алгебраических

Синтаксис

уравнений

void Forsythe( float a[], float b[], int n, float x[],

Прототип в

float *obusl )

emath.h

Описание

Подпрограмма, выполняющая расчет коэффициентов

 

при неизвестных x[] системы линейных алгебраических

 

уравнений методом Форсайта с исходной двухмерной

 

матрицей a[][], составленной из коэффициентов при не-

 

известных, b[] массив известных правых частей,

 

 

115

 

n число уравнений (неизвестных) в системе; obusl –

 

степень обусловленности решения.

 

 

Наименование

Korney

 

 

Функция

Выполняет расчет системы линейных алгебраических

 

уравнений

Синтаксис

void Korney( float a[], float b[], int n, int m, float x[] )

Прототип в

emath.h

Описание

Подпрограмма, выполняющая расчет коэффициентов

 

при неизвестных x[] системы линейных алгебраических

 

уравнений методом квадратных корней с исходной

 

двухмерной переопределенной (m>n) матрицей a[][], со-

 

ставленной из коэффициентов при неизвестных, b[]

 

массив известных правых частей, n число неизвестных

всистеме, m – число уравнений

7.10.Библиотека подпрограмм-функций предназначенных для решения нелинейных уравнений вида f (x) = 0:

Наименование

Newton

 

 

Функция

Вычисляет корень трансцендентного уравнения f(x) = 0

Синтаксис

float Newton(float (*)func( float ), float a, float b, float eps)

Прототип в

emath.h

Описание

Подпрограмма, вычисляющая значение корня трансцен-

 

дентной функции func() методом Ньютона (касатель-

 

ных) на отрезке локализации от a до b и расчетной точ-

 

ностью eps

 

 

Наименование

Kombi

 

 

Функция

Вычисляет корень трансцендентного уравнения f(x) = 0

Синтаксис

float Kombi( float (*)func( float ), float a, float b, float eps )

Прототип в

emath.h

Описание

Подпрограмма, вычисляющая значение корня трансцен-

 

дентной функции func() комбинированным методом

 

(хорд-касательных) на отрезке локализации от a до b и

 

расчетной точностью eps

116

Наименование

Dihotom

 

 

Функция

Вычисляет корень трансцендентного уравнения f(x) = 0

Синтаксис

float Dihotom( float (*)func( float ), float a, float b,

Прототип в

float eps )

emath.h

Описание

Подпрограмма, вычисляющая значение корня трансцен-

 

дентной функции func() методом дихотомии (бисекции)

 

на отрезке локализации от a до b и расчетной точностью

 

eps

 

 

Наименование

Zeroin

 

 

Функция

Вычисляет корень трансцендентного уравнения f(x) = 0

Синтаксис

float Zeroin( float (*)func( float ), float a, float b, float eps )

Прототип в

emath.h

Описание

Подпрограмма, вычисляющая значение корня трансцен-

 

дентной функции func() комплексным методом на от-

 

резке локализации от a до b и расчетной точностью - eps

 

 

Наименование

Brent

 

 

Функция

Вычисляет корень трансцендентного уравнения f(x) = 0

Синтаксис

float Brent( float (*)func( float ), float a, float b, float eps )

Прототип в

emath.h

Описание

Подпрограмма, вычисляющая значение корня трансцен-

 

дентной функции func() методом Брента на отрезке ло-

 

кализации от a до b и расчетной точностью eps

.

 

Наименование

AtkSt

 

 

Функция

Вычисляет корень трансцендентного уравнения f(x) = x

Синтаксис

float AtkSt( float (*)func( float ), float x0, float eps )

Прототип в

emath.h

Описание

Подпрограмма, вычисляющая значение корня трансцен-

 

дентной функции func() методом Эйткена-Стиффенсона

 

(f(x) = x) с начальным приближением x0 и расчетной

117

точностью eps

7.11. Библиотека подпрограмм для расчета систем нелинейных урав-

нений:

Наименование

ModifNewton

 

 

Функция

Выполняет расчет системы нелинейных алгебраических

Синтаксис

уравнений

void ModifNewton( int n, float x[], void (*)func(float *,

Прототип в

float *), float eps )

emath.h

Описание

Подпрограмма, выполняющая расчет коэффициентов

 

при неизвестных x[] системы нелинейных алгебраиче-

 

ских уравнений модифицированным методом Ньютона.

 

n число неизвестных в системе, x[] массив начальных

 

приближений и корней системы, func функция с двумя

 

входными параметрами, содержащей систему нелиней-

 

ных уравнений, eps расчетная точность

 

 

Наименование

ProstIteratio

 

 

Функция

Выполняет расчет системы нелинейных алгебраических

Синтаксис

уравнений

void ProstIteratio( int n, float x[], void (*)func(float *,

Прототип в

float *), float eps )

emath.h

Описание

Подпрограмма, выполняющая расчет коэффициентов

 

при неизвестных x[] системы нелинейных алгебраиче-

 

ских уравнений модифицированным методом Ньютона.

 

n число неизвестных в системе, x[] массив начальных

 

приближений и корней системы, func функция с двумя

 

входными параметрами, содержащей систему нелиней-

 

ных уравнений, eps расчетная точность

7.12. Библиотека подпрограмм для расчета специальных функций:

Наименование

Gamma

 

 

Функция

Вычисляет значение гамма-функции

Синтаксис

float Gamma( float p, int *error )

Прототип в

emath.h

Описание

Подпрограмма, вычисляющая значение гамма-функции

118

 

по параметру p. Переменная error содержит код

 

ошибки

 

 

Наименование

Bessel

 

 

Функция

Вычисляет значение функции Бесселя

Синтаксис

float Bessel( float p1, float p2, int *error )

Прототип в

emath.h

Описание

Подпрограмма, вычисляющая значение функции Бесселя

 

по параметрам p1 и p2. Переменная error - содержит код

 

ошибки вычислений

 

 

Наименование

Cosh

 

 

Функция

Вычисляет значение тригонометрического косинуса

Синтаксис

float Cosh( float p )

Прототип в

emath.h

Описание

Подпрограмма, вычисляющая значение тригонометриче-

 

ского косинуса по параметру p

 

 

Наименование

Sinh

 

 

Функция

Вычисляет значение тригонометрического синуса

Синтаксис

float Sinh( float p )

Прототип в

emath.h

Описание

Подпрограмма, вычисляющая значение тригонометриче-

 

ского синуса по параметру p

 

 

Наименование

ArcTanh

 

 

Функция

Вычисляет значение тригонометрического арктангенса

Синтаксис

float ArcTanh( float p )

Прототип в

emath.h

Описание

Подпрограмма, вычисляющая значение тригонометриче-

 

ского арктангенса по параметру p

119

7.13. Библиотека суммарной статистической обработки данных:

Наименование

SummaryStats

 

 

 

Функция

Определяет суммарную статистику данных

 

Синтаксис

void SummaryStats( float dataset[], int numobs,

 

 

int numcol, float minim[],

 

 

float maxim[], float range[],

 

 

float sumx[], float mean[],

 

 

float variance[], float stddev[],

Прототип в

emath.h

float semean[], float mode[] )

 

 

 

Описание

Подпрограмма, определяющая суммарную статистику

 

данных представленных двумерным массивом dataset[]

 

с количеством строк numobs, столбцов numcol.

 

Список выходных параметров: minim[] массив мини-

 

мальных значений; maxim[] - массив максимальных зна-

 

чений; range[] массив рангов; sumx[] массив суммы

 

значений; mean[] массив среднеарифметических зна-

 

чений; variance[] массив коэффициент вариации

7.14. Библиотека расчета системы обыкновенных дифференциальных

уравнений:

 

 

 

 

Наименование

rkf

 

 

 

Функция

Подпрограмма расчета системы обыкновенных диффе-

Синтаксис

рен-циальных уравнений

 

 

void rkf( void (*func)(float x, float *y, float *fp), int n,

 

float xn, float xk, float h, float *y0, float *dx,

Прототип в

float *dy, int *kol )

 

 

emath.h

 

 

 

Описание

Подпрограмма, расчета системы обыкновенных диффе-

 

ренциальных

уравнений

методом

Рунге-Кутта-

 

Фельберга с автоматическим выбором шага. Система

 

расчетных уравнений содержится в функции func c тре-

 

мя обязательными входными параметрами, n число

 

уравнений в системе, xn, xk начальное и конечное зна-

 

чение параметра по которому производится дифферен-

 

цирование, h шаг дифференцирования, *y0 массив

 

начальных значений рассчитываемых переменных.

 

Список выходных параметров: *dx массив значений

 

параметра по которому выполнялось дифференцирова-

 

ние; *dy двумерный массив результатов расчетов; kol

 

количество данных в массивах *dx и *dy