Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

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

Процесс решения уравнения с использованием метода хорд показан в таблице А.5.

5 – Нахождение корня уравнения методом хорд

Число шагов,

Текущее приближение,

Точность,

0

1,20000

1

1,18356

0,01644

2

0,94412

0,23944

3

1,05345

0,10933

4

1,02412

0,02933

5

1,01345

0,01067

6

1,01445

0,00100

7

1,01412

0,00033

3.6 Код программы на языке Haskell

-- Функция

f x = 2 * x + tan(2*x)

-- Производная функции

dfdx x = 2 + 2/(cos(2*x))^2

-- Метод половинного деления

bisection f left right epsilon =

if right - left < epsilon

then right

else if (f mid) * (f right) > 0

then bisection f left mid epsilon

else bisection f mid right epsilon

where mid = (left+right)/2.0

-- Метод Ньютона

newton f dfdx x0 epsilon =

if abs(temp) < epsilon

then x0 - temp

else newton f dfdx (x0-temp) epsilon

where temp = (f x0)/(dfdx x0)

-- Метод хорд

chord f x1 x0 epsilon =

if abs(temp) < epsilon

then x1 - temp

else chord f (x1-temp) x1 epsilon

where temp = (f x1)*(x1-x0)/((f x1) - (f x0))

-- Вывод корней

main=print[(bisection f 0.8 1.2 0.001),(newton f dfdx 0.8 0.001),(chord f 1.18 1.2 0.001)]

3.6. Вывод

Наименьший положительный корень уравнения .

С помощью метода половинного деления требуемой точности удалось достичь за 9 шагов, с помощью метода Ньютона – за 7 шагов, с помощью метода хорд – за 7 шагов.

НЕ нашли? Не то? Что вы ищете?

Значит, в этом случае наибольшей скоростью сходимости обладают методы Ньютона и хорд.

4 Задание №5

4.1 Задание

Дана таблица А.6 значений функции . Вычислить значения и в заданной точке . Оценить погрешность вычислений, считая, что функция в таблице задана точно.

6 – Задание функции

0,0

1,00000

0,7

2,65797

1,4

5,04065

0,1

1,20500

0,8

2,94290

1,5

5,47918

0,2

1,42007

0,9

3,24293

1,6

5,95261

0,3

1,64538

1,0

3,55975

1,7

6,46561

0,4

1,88124

1,1

3,89537

1,8

7,02350

0,5

2,12815

1,2

4,25216

1,9

7,63219

0,6

2,38676

1,3

4,63285

2,0

8,29835

4.2. Метод решения задачи

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

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

4.3 Код программы на ассемблере IA-32

; Реализация функций подсчёта производных

.386

.MODEL flat, c

.CODE

PUBLIC C dfdx, C d2fdx2

; Первая производная

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

; номер узла для нахождения производной, величина шага по x

dfdx PROC

fninit

mov eax, dword PTR [esp+4]

mov ebx, dword PTR [esp+16]

fld qword ptr [eax+ebx*8+8]

fld qword ptr [eax+ebx*8-8]

fsubp

push 2

fild dword ptr [esp]

add esp, 4

fdivp

fld qword PTR [esp+8]

fdivp

ret

dfdx ENDP

; Вторая производная

d2fdx2 PROC

fninit

mov eax, dword PTR [esp+4]

mov ebx, dword PTR [esp+16]

fld qword ptr [eax+ebx*8+8]

fld qword ptr [eax+ebx*8]

push 2

fild dword ptr [esp]

add esp, 4

fmul

fsubp

fld qword ptr [eax+ebx*8-8]

fadd

fld qword PTR [esp+8]

fdivp

fld qword PTR [esp+8]

fdivp

ret

d2fdx2 ENDP

end

// Вызов функций подсчёта производных из программы на C

#include <stdio. h>

extern "C"

{

double dfdx(double* fx, double h, int n);

double d2fdx2(double* fx, double h, int n);

}

int _tmain(int argc, _TCHAR* argv[])

{

double fx[21]={1.0,1.205,1.42007,1.64538,1.88124,2.12815,2.38676,

2.65797,2.94290,3.24293,3.55975,3.89537,4.25216,4.63285,5.04065,

5.47918,5.95261,6.46561,7.02350,7.63219,8.29835};

printf("%g\n", dfdx(fx, 0.1, 11));

printf("%g\n", d2fdx2(fx, 0.1, 11));

return 0;

}

4.4 Вывод

Первая и вторая производные в точке получились равными:

5 Задание №6

5.1 Задание

Вычислить определённый интеграл с помощью формул прямоугольников (левых, правых и средних), трапеций, Симпсона с числом узлов для каждого метода.

Оценить погрешность по формуле Рунге.

5.2 Описание метода решения задачи

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

5.3 Оценка погрешности квадратурных формул. Правило Рунге

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

 — для формулы прямоугольников;

для формулы трапеций;

для формулы Симпсона.

Таблица 7 – Вычисление определённого интеграла с помощью квадратурных формул

Метод

Формула левых прямоугольников

Формула правых прямоугольников

Формула средних прямоугольников

Формула трапеций

Формула Симпсона

5.4 Код программы на языке Scheme

; Интегрирование квадратурными формулами

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7