- •Лабораторная работа 4 Решение алгебраических и трансцендентных уравнений
- •1. Общие сведения и постановка задачи
- •2. Численные методы решения нелинейных алгебраических и трансцендентных уравнений
- •2.1. Метод половинного деления
- •2.2. Метод хорд
- •2.3. Метод Ньютона
- •2.4. Комбинированный метод
- •2.5. Метод параболической аппроксимации
- •2.6. Метод простой итерации
- •3. Реализация метода половинного деления для уточнения корня
- •4. Текст программы
- •5. Описание программы
- •6. Варианты заданий
- •7. Порядок выполнения работы
- •8. Контрольные вопросы
4. Текст программы
Код программы для отделения и уточнения корня уравнения по методу половинного деления имеет следующий вид:
void __fastcall TForm1::Button5Click(TObject *Sender)
{
/* Уточнение корня уравнений методом половинного деления */
float cen, eps;
int k;
a = StrToFloat(Edit1->Text);
b = StrToFloat(Edit2->Text) ;
eps = StrToFloat(Edit4->Text);
cen = (b+a)/2;
k = 0;
if(b-a>0 && f(b)*f(a)<0) {
while(fabs(f(cen))>eps && (b-a)>eps) {
if(f(a)*f(cen)>0) a=cen; else b=cen;
cen = (b+a)/2;
k++;
}
Label10->Caption = "Границы заданы правильно";
Label6->Caption = FloatToStr(cen);
Label7->Caption = FloatToStr(f(cen));
Label8->Caption = IntToStr(k);
}
else Label10->Caption = "Границы заданы неправильно";
}
5. Описание программы
Программа предназначена для вычисления корня уравнения по методу половинного деления. В ней кроме обработки событий для ввода данных (Button1Click), построения таблицы значений функции (Button2Click), графика функции (Button4Click) и закрытия программы (Button3Click), определено событие Button5Click, в котором для уточнения корня реализован алгоритм половинного деления. В нём после ввода исходных данных, осуществляется проверка правильности задания начального интервала, на концах которого функция должна принимать значения разных знаков. После уточнения корня в программе предусматривается вывод результата в поля меток Label6 – корень уравнения, Label7 – значение функции в точке соответствующей корню уравнения, Label8 – количество итераций уточнения корня.
6. Варианты заданий
Номер задания |
Уравнение |
Численный метод |
1 |
x3 - x2 + 4x - 3 = 0 |
Ньютона |
2 |
x4 - 2x3 + 7x - 10 = 0 |
Половинного деления |
3 |
e2x-1 - 40x + 2 = 0 |
Хорд |
4 |
xe-x - 2sin x + 3 = 0 |
Простой итерации |
5 |
sin 2x - x3 + 2x2 - 1 = 0 |
Комбинированный |
6 |
1 - e-2/x + 2x = 0 |
Половинного деления |
7 |
3x2 + 1.8x + 0.6 - cos x = 0 |
Хорд |
8 |
x + 2(x2 - 1) + e-sin x = 0 |
Ньютона |
9 |
7x + 3cos2(x - 1) – x2 = 0 |
Половинного деления |
10 |
(ex - 2x +1)/( = 0 |
Комбинированный |
11 |
e-x (1 - cos x) + x2 – 2 = 0 |
Ньютона |
12 |
2 + sin(π/x) – x = 0 |
Половинного деления |
13 |
- 1 - x-1 + 2x-2cos x = 0 |
Простой итерации |
14 |
x3 + 2(1 - x1/2) = 0 |
Хорд |
15 |
[(x2 + 3)/(x - 8)] + 2 = 0 |
Ньютона |
16 |
[(1 - cos x)/x2] - 3 = 0 |
Параболической аппроксимации |
17 |
(2/x2 + x) - 1 = 0 |
Половинного деления |
18 |
x(1- x)(2 + 3x) + cos x = 0 |
Параболической аппроксимации |
19 |
x3 tg2x + 3 = 0 |
Простой итерации |
20 |
x1/2e-x - (2x - 1) = 0 |
Ньютона |
21 |
+2(1/x) - 2x2 = 0 |
Половинного деления |
22 |
ln(1 + 2x + x3) - 1 = 0 |
Комбинированный |
23 |
(1+2x+x3)/(6-3x+x2)–4=0 |
Половинного деления |
24 |
e-2x+3/(1+x3)-2=0 |
Хорд |
25 |
= 0 |
Простой итерации |
26 |
x sin x + 3x - 2 = 0 |
Ньютона |
27 |
x2+ sin 3x - 2 = 0 |
Ньютона |
28 |
x2 + 2x + 3 – e-x = 0 |
Комбинированный |
29 |
x ln(2 + x) - x - 3 = 0 |
Хорд |
30 |
(x + cos 2x)1/2 -3 = 0 |
Половинного деления |
31 |
(6x - 2x2) e-2x -4 = 0 |
Ньютона |
32 |
xe-1/x - x2 + 1 = 0 |
Половинного деления |
33 |
e–x / (1 - x) - 3 = 0 |
Хорд |
34 |
e-x + sin 2x - 4 = 0 |
Параболической аппроксимации |
35 |
(1 + 2x) / (x2 - x + 4) + 3x = 0 |
Половинного деления |
36 |
[(6 sin x) / (x2 + 2)] - 1/2 = 0 |
Хорд |
37 |
(e-x) / (2x + x3) - 3 = 0 |
Комбинированный |
38 |
(ln x) / (2x - x2 + 5) - 2 = 0 |
Половинного деления |
39 |
(1 + 0.01x) / (x3 - x + 2) - 1=0 |
Хорд |
40 |
(cos x + sin (1/x) - x) = 0 |
Половинного деления |
41 |
[(1.0081 * x2)/(2ln(1+x))]-3.8=0 |
Хорд |
42 |
(2 - x) [1 + cos(x - 1/2x) |
Половинного деления |
43 |
1/2(x2 - 4)e-x sin(x/3) |
Хорд |
44 |
x–(x3/2*3)+x5/2*3*4*5)–5=0 |
Ньютона |
45 |
1 + x2/2 + x4/2*3*4 – x = 0 |
Комбинированный |
46 |
cos(x/2)+cos(x–1/2)+2x=0 |
Хорд |
47 |
Cos x Sin x–x2 +1/2= 0 |
Простой итерации |
48 |
e–2x sin 4x – 1 = 0 |
Половинного деления |
49 |
e–x/2 (x2 – 2) – 3/2 = 0 |
Хорд |
50 |
x*sin(x)+1/x–x+x2–2=0 |
Простой итерации |