Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Роберт.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
338.56 Кб
Скачать

2. Анализ требований

Интерфейс: Т.к. основной структурой нашей программы является модуль, то для более легкого использования другими пользователями будет доступна только одна функция, которая сама будет управлять входными данными и предоставлять рассчитанный интерполирующий полином.

Входные данные: уравнение функции, строковое представление интервала, переменная x и число точек интерполяции.

Выходные данные: значение интерполирующего полинома.

Основные функции:

1) Основная функция вычисление интерполяционного полинома и перенаправлением входных данных.

Входные данные: строковое представление функций, строковое представление интервала, переменная x и число точек итерации.

Выходные данные: значение полинома.

2) Функция обработки входного интервала представленного в виде строки. Входные данные: строковое представление интервала.

Выходные данные - массив из 2-х элементов содержащий нижнюю и верхнюю границу интервала.

3) Функция вычисления оптимальных значений переменных х0, х1, …, хn.

Входные параметры: верхняя и нижняя граница интервала.

Выходные параметры - массив переменных xi.

4) Функция выбора коэффициентов, функций и аргументов функций из уравнения представленного в виде строки

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

Выходные параметры: глобальные переменные (static) состояния функции

5) Функция вычисления значений ”функций”, которую мы ввели, с помощью ранее найденных оптимальных значений переменной x.

Входные данные: массив переменных xi.

Выходные данные: массив значений функций.

6) Функция вычисления значения интерполирующего полинома.

Входные параметры: массив значений функций, массив переменных xi,аргумент x.

Выходные параметры: значение интерполирующего полинома.

3. Проектирование

Архитектура: Сервисно-ориентированная архитектура

Достоинства: отсутствие конкретной привязанности к какой-либо платформе и относительно лёгкое экспортирование в другие приложение настольные или Web.

Структура данных:

1) Массивы представляющие степени и аргументы функций private static double dStep = 0, dKoef = 0;

1) Массивы представляющие сами функции и их аргументы private static string sFunc = "";

Интерфейсы функций:

1) Обработка входного интервала представленного private static double[] GetInterval(string str)

2) Вычисление оптимальных значений переменных х0, х1, …, хn private static double[] GetValuesX(double a, double b, int n)

3) Выбор коэффициентов, функций и аргументов функций из уравнения представленного в виде строки private static void GetParameters(string str)

4) Получение значения определённой функции из массива функций private static double GetValueFunction(double x)

5) Получение всех функций в зависимости от переменной х private static double[] GetAllValuesFuction(double[] x)

6) Вычисление значения интерполирующего полинома private static double GetInterpolation(double[] dX, double[] dF, double x)

4. Руководство программиста

Обработка входных параметров(GetParameters)

Метод считывания параметров основан на разборе строки с помощью символов ^, *. До символа * располагается область коэффициента, если * нет, то коэффициент равен 1 (сохраняется в массив dKoef). После символа ^ расположена область степени функции, если ^ нет то степень равна 1 (сохраняется в массив dStep). Между * и ^ располагается сама функция. Она состоит из идентификатора функции (exp, x, ctg, tg, sin…, сохраняется в массив sFunc).

Общий вид: 2*х^2

2) Обработка оптимальных значений переменных х (GetValuesX)

В этом методе находятся наиболее подходящие значения xi по формуле Чебышева благодаря чему повышается точность интерполяции.

3) Обработка входного интервала (GetInterval)

Преобразование строкового значения в вещественное число, пригодного для использования. В данном методе происходит разбиение строки на нвчало и конец интервала.

4) Обработка значений интерполирующего полинома (GetInterpolation)

Данный метод основан на интерполяции по формуле Лагранжа. Сначала идет расчет для каждой функции отдельно, а затем их суммирование.