82936

Разработка схемы алгоритма вычисления таблицы значений функции

Курсовая

Информатика, кибернетика и программирование

Метод трапеций — метод численного интегрирования функции одной переменной, заключающийся в замене на каждом элементарном отрезке подынтегральной функции на многочлен первой степени, то есть линейную функцию. Площадь под графиком функции аппроксимируется прямоугольными трапециями.

Русский

2015-03-05

242 KB

8 чел.

Содержание:

Содержание.....1

Анализ задания

Обоснование и описание вычисления корня нелинейного уравнения методом биссекции

Таблица обозначения переменных главной программы

Схемы алгоритмов

Программа Pascal

Результаты


Задание

Разработать схему алгоритма вычисления таблицы значений функции при заданных занчениях аргумента Х и параметра А. Параметр B принимает значение, равное корню нелинейного уравнения.

Параметр А:

Аn – Начальное и конечное значение аргумента

Da – шаг изменения аргумента(параметра)

N – число значений аргумента(пареметра), изменяемого от значений An с шагом Da

Аргумент Х:

M – число значений аргумента(параметра), не зависящих друг от друга

B – интеграл:

вычисленный с погрешностью

Табулируемая функция:


Анализ задания.

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

где B – параметр функции, принимающий значение корня нелинейного уравнения:

Integral – функция, предназначенная для нахождения интеграла методом трапеций.

Список входных параметров: a, b, n.

a, b – верхнее и нижнее значение определенного интеграла.

n – количество трапеций. Чем больше, тем точнее будет значение.

Функция возвращает значение решения интеграла методом трапеций.

Обоснование и описание вычисление определенного интеграла методом трапеций.

Метод трапеций — метод численного интегрирования функции одной переменной, заключающийся в замене на каждом элементарном отрезке подынтегральной функции на многочлен первой степени, то есть линейную функцию. Площадь под графиком функции аппроксимируется прямоугольными трапециями. Алгебраический порядок точности равен 1.

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

Метод может быть получен путём вычисления среднего арифметического между результатами применения формул правых и левых прямоугольников.

Для решения задачи интервал [a,b] разбивается на n одинаковых участков. Длина каждого участка будет равна h=(b-a)/n.


Таблица обозначения переменных главной программы.

Обозначение в задании

Обозначение в алгоритме

Описание

An

An

Начальное значение аргумента

Da

Da

Шаг изменения аргумента

M

M

Число значений аргумента

B

B

Значение вычисления интеграла

-

X_values

Массив переменных X

-

Y_values

Массив переменных Y

-

I

Счетчик

A

A

Текущее значение аргумента

-

PredA

Верхнее значение определенного интеграла

-

PredB

Нижнее значение определенного интеграла

-

N

Количество делений на трапеции

Схемы алгоритмов

В соответствии с принципами структурного программирования каждый функциональный законченный фрагмент программы оформлен в виде подпрограммы. В результате программа включает главную программу и набор подпрограмм.

Главная программа:


Функция F_y:

F_y(a, b, x);

Параметры:

a – текущий аргумент, даваемый в задании.

b – значение вычисления интеграла.


Функция Integral.

 Integral(a, b, n) - возрвращаяет    значение  выполнения     функции вычисления     определенного интеграла.

 Параметры:

 a – верхняя граница

 b – нижняя граница

 n – количество трапеций


Функция F_b.

F_b(x);

 Параметры:

х – параметр для вычисления  функции.

Функция Output.

Output(x, y, N);

 Параметры:

x – массив из N значений х;

y – массив из N значений y;

N – количество элементов в массивах  x и y.


Программа Pascal

Program RGR;

uses CRT;

type

xy_arr = array[1..100] of real;

var

X_values : xy_arr;

Y_values : xy_arr;

An, Da, M, i : integer;

A, B: real;

function F_b(x:real):real;

begin

F_b := (x*x+1)*(x*x+1)*exp(2*x)*x;

end;

function Integral() : real;

var

n: integer;

a, b, h, s, x: real;

begin

a := 0.81;

b := 0.62;

n := 20;

h:=(b-a)/n;

s:=(F_b(a)+F_b(b))/2;

x:=a;

 

for i := 1 to n-1 do

begin

 x:=x+h;

 s:= s+F_b(x);

end;

 

s:=h*s;

Integral := s

end;

function F_y(a: real; b: real; x: real ): real;

begin

F_y := a/b*ln(x*x/(2+Sqrt(1+x*x)));

end;

procedure InptX(var arr_x: xy_arr; N: integer);

begin

for i := 1 to N do

begin

 write('Enter x(', i,'): ');

 readln(arr_x[i]);

end;

end;

procedure Output(x: xy_arr; y:xy_arr; N: integer);

var i : integer;

begin

for i := 1 to N do

begin

 writeln('X[',i,']: ', x[i], ' Y[',i,']: ', y[i]);

end;

end;

begin

clrscr;

write('Enter M: ');

readln(M);

write('Enter An: ');

readln(An);

write('Enter Da: ');

readln(Da);

A := An;

B := Integral();

InptX(X_values, M);

for i := 1 to M do

begin

 Y_values[i] := F_y(A, B, X_values[i]);

 A := A + Da;

end;

Output(X_values, Y_values, M);

end.


Результаты

Входные данные:

Enter M: 4

Enter An: 1

Enter Da: 1

Enter x(1): 6

Enter x(2): 5

Enter x(3): 3

Enter x(4): 7

Таблица значений:

X[1]:  6.00000000000000E+000 Y[1]: -1.10673311577843E+000

X[2]:  5.00000000000000E+000 Y[2]: -1.86544556056269E+000

X[3]:  3.00000000000000E+000 Y[3]: -1.23546663740696E+000

X[4]:  7.00000000000000E+000 Y[4]: -4.99873812804377E+000


 

А также другие работы, которые могут Вас заинтересовать

51182. Банкет за столом с частичным обслуживанием с официантами на 30 персон по случаю Дня Рождения 512.5 KB
  Ресторан - предприятие общественного питания с широким ассортиментом блюд сложного приготовления, включая заказные и фирменные, вино-водочные, табачные и кондитерские изделия, с повышенным уровнем обслуживания в сочетании с организацией досуга.
51183. Изучение таймеров микроконтроллера 39.03 KB
  Цели работы Изучить особенности работы таймеров микроконтроллера. Изучить методику конфигурирования таймеров. Научиться формировать с помощью таймера временные интервалы. Изучить способы отладки программ на учебном лабораторном стенде LESO1.
51185. Работа с клавиатурой матричного типа 40.12 KB
  Цель работы Изучить особенности работы параллельных портов микроконтроллера. Изучить схемы подключения кнопок и матричной клавиатуры к микроконтроллеру. Научиться определять состояние кнопок при помощи программы.
51187. Інтерпретатор математичних виразів 25.62 KB
  Мета: Навчитися створювати та використовувати власні обєкти, нащадки, віртуальні функції, програмно реалізовувати деревоподібні графи.
51188. Інтерпретатор виразів з обчисленням першої та другої похідної 21.38 KB
  Мета: Удосконалити навики ООП, використавши для реалізації задачі про Інтерпретатор механізми інкапсуляції,наслідування, поліморфізму, динамічного звязування і віртуальних функцій.
51190. Построить аналитическую модель и, решив ее, определить вероятности состояний 100.94 KB
  По графу построить аналитическую модель и, решив ее, определить вероятности состояний. Рассчитать теоретическое значение показателя эффективности, заданного целью исследования задания..