0 / 0 / 0
Регистрация: 11.10.2013
Сообщений: 7

Методы решения нелинейных уравнений

11.10.2013, 13:13. Показов 1881. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
ребят нашел у вас программу на методы. а как в эту же программу вписать еще метод хорд и метод касательной(т.е не комбинированный а, раздельно еще что бы было) . помогите составить код. очень надо а то повесят меня.

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
program Project2;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
 
function f(var x:real):real;
begin
f:= sqrt(x)-2*cos(x);
end;
function f1(var x:real):real;
begin
f1:=(4*sqrt(x)*sin(x)+1)/(2*sqrt(x)); {первая производная}
end;
function f2(var x:real):real;{вторая производная}
begin
f2:=(8*sqrt(x*x*x)*cos(x)-1)/(4*sqrt(x*x*x));
end;
var a,b,c,x:real;
    e,e1,x0:real;
    x11,x12:real;
begin
a:=1;
b:=2;
e:=0.0001;
x0:=a;
x11:=x0-f(x0)/f1(x0);
x12:=a-((b-a)*f(a)/(f(b)-f(a)));
e1:=(x11+x12)/2;
while  abs(e1-x11)>e do
 begin
  a:=x11;
  b:=x12;
  x11:= a-F(a)/f1(a);
  x12:= a-((b-a)*f(a)/(f(b)-f(a)));
  e1:=(x11+x12)/2;
 end;
writeln ('Metod hord i kasatelnyh x=',x11:0:5);
repeat
   c:=(a+b)/2;
   if F(a)*F(c)<=0 then b:=c
   else a:=c;
until abs(b-a)<e;
x:=(a+b)/2;
writeln('Metod delenia popolan   x=',x:0:5);
readln
end.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.10.2013, 13:13
Ответы с готовыми решениями:

Методы решения нелинейных уравнений
Отделить корни уравнений F(x) = 0 и уточнить значения корней (или одного из них) с точностью е = 10^-3. Напечатать приближенные...

Численные методы решения нелинейных уравнений: метод половинного деления
Здравствуйте. У меня вот такой вопрос, возможно ли сделать так, чтобы можно было бы вводить уравнения произвольно через edit? на подобии...

Численные методы решения нелинейных уравнений:метод половинного деления
Всем привет! заголовок-тема курсовой. подскажите хотябы с чего начинать?

10
Почетный модератор
 Аватар для Puporev
64316 / 47612 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
11.10.2013, 13:27
Цитата Сообщение от бдабда Посмотреть сообщение
метод касательной
Уточните корень уравнения е^х – 10х = 0 на отрезке [a, b] методом касательных
Замени функцию, производную и интервал корня.
0
0 / 0 / 0
Регистрация: 11.10.2013
Сообщений: 7
11.10.2013, 13:29  [ТС]
а метод хорд поможете?
0
Почетный модератор
 Аватар для Puporev
64316 / 47612 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
11.10.2013, 13:31
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Пример на метод хорд
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
program Project2;
 
{$APPTYPE CONSOLE}
 
uses SysUtils;
 
function f(x:extended):extended;
begin
f:=x*x-1.3*ln(x+0.5)-2.8*x+1.15;
end;
var xn,xk,p,e:extended;
begin
e:=0.0001;
xn:=2.5;
xk:=3.1;
repeat
p:=(f(xk)*xn-f(xn)*xk)/(f(xk)-f(xn));
if abs(f(p))<=e then
 begin
  writeln('x=',p:0:5,'  y=',f(p):0:5);
  readln;
  exit;
 end;
if f(xn)*f(xk)>0 then xn:=p else xk:=p;
until abs((f(xk)*xn-f(xn)*xk)/f(xk)-f(xn)-p)<=e;
writeln('x=',p:0:5,'  y=',f(p):0:5);
readln
end.
0
0 / 0 / 0
Регистрация: 11.10.2013
Сообщений: 7
11.10.2013, 14:26  [ТС]
что не так. помогите не могу понять

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
program Project2;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
 
function f(var x:real):real;
begin
f:= sqrt(x)-2*cos(x);
end;
function f1(var x:real):real;
begin
f1:=1/2*exp(-1/2*ln(x))+2*sin(x); ; {ïåðâàÿ ïðîèçâîäíàÿ}
end;
function f2(var x:real):real;{âòîðàÿ ïðîèçâîäíàÿ}
begin
f2:=1/4* exp(-3/2*ln(x))-2*cos(x);
end;
var a,b,c,x:real;
    e,e1,x0:real;
    p,x11,x12:real;
begin
a:=1;
b:=2;
e:=0.0001;
x0:=a;
x11:=x0-f(x0)/f1(x0);
x12:=a-((b-a)*f(a)/(f(b)-f(a)));
e1:=(x11+x12)/2;
while  abs(e1-x11)>e do
 begin
  a:=x11;
  b:=x12;
  x11:= a-F(a)/f1(a);
  x12:= a-((b-a)*f(a)/(f(b)-f(a)));
  e1:=(x11+x12)/2;
 end;
writeln ('Metod hord i kasatelnyh x=',x11:0:5);
repeat
   c:=(a+b)/2;
   if F(a)*F(c)<=0 then b:=c
   else a:=c;
until abs(b-a)<e;
x:=(a+b)/2;        writeln('Metod delenia popolan   x=',x:0:5);
repeat
p:=(f(b)*a-f(a)*b)/(f(b)-f(a));
if abs(f(p))<=e then
 begin
  writeln('x=',p:0:5,'  y=',f(p):0:5);
  readln;
  exit;
 end;
if f(a)*f(b)>0 then a:=p else b:=p;
until abs((f(b)*a-f(a)*b)/f(a)-f(b)-p)<=e;
writeln('x=',p:0:5,'  y=',f(p):0:5);
readln ;
 
begin
  if f(a)*f1(a)>0 then x:=a else x:=b;
while abs(f(x))>e do
x:=x-f(x)/f1(x);
writeln('metod kasatelnoy x=',x:0:5);
readln;
 end;
 
repeat
p:=(f(b)*a-f(a)*b)/(f(b)-f(a));
if abs(f(p))<=e then
 begin
  writeln('metod xord x=',p:0:5,'  y=',f(p):0:5);
  readln;
 
     end;
if f(a)*f(b)>0 then a:=p else b:=p;
until abs((f(b)*a-f(a)*b)/f(b)-f(a)-p)<=e;
writeln('metod xord x=',p:0:5,'  y=',f(p):0:5);
 end.
0
Почетный модератор
 Аватар для Puporev
64316 / 47612 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
11.10.2013, 14:30
Ну и что ты это творишь?

Добавлено через 1 минуту
Какое у тебя задание, какая функция, какие методы?

Добавлено через 48 секунд
Цитата Сообщение от бдабда Посмотреть сообщение
нашел у вас программу на методы
Не пишешь ни фига, тогда нашел и балдей, не пудри мозги.
0
0 / 0 / 0
Регистрация: 11.10.2013
Сообщений: 7
11.10.2013, 15:13  [ТС]
задание написать программу на метод пол. деления,метод хорд,касательной и комбинированный метод хорд и касательных, функции lg(x)-2/(x*x)=0 с точностью е=0,0001

Добавлено через 26 минут
помоги и отвалю вообще. плиииз

Добавлено через 10 минут
пожалуйста помоги((( последняя надежда
0
Почетный модератор
 Аватар для Puporev
64316 / 47612 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
11.10.2013, 15:15
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
program Project2;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
 
function f(var x:real):real;
begin
f:=ln(x)/ln(10)-2/(x*x) 
end;
function f1(var x:real):real;
begin
f1:=(x*x+4)/(x*x*x); {ïåðâàÿ ïðîèçâîäíàÿ}
end;
function f2(var x:real):real;{âòîðàÿ ïðîèçâîäíàÿ}
begin
f2:=-(x*x+12)/(x*x*x*x);
end;
var a,b,c,x:real;
    e,x0:real;
    x11,x12:real;
begin
a:=2;
b:=3;
e:=0.0001;
repeat
   c:=(a+b)/2;
   if F(a)*F(c)<=0 then b:=c
   else a:=c;
until abs(b-a)<e;
x:=(a+b)/2;
writeln('Metod delenia popolan x=',x:0:4);
a:=2;
b:=3;
repeat
c:=(f(b)*a-f(a)*b)/(f(b)-f(a));
if abs(f(c))<=e then
 begin
  writeln('Metod hord x=',c:0:4);
  break;
 end;
if f(a)*f(b)>0 then a:=c else b:=c;
until abs((f(b)*a-f(a)*b)/f(b)-f(a)-c)<=e;
a:=2;
b:=3;
if f(a)*f1(a)>0 then x:=a else x:=b;
while abs(f(x))>e do
x:=x-f(x)/f1(x);
writeln('Metod kasatelnyh x=',x:0:4);
a:=2;
b:=3;
x0:=(b-a)/2;
x11:=x0-f(x0)/f1(x0);
x12:=a-((b-a)*f(a)/(f(b)-f(a)));
x:=(x11+x12)/2;
while  abs(x-x11)>e do
 begin
  a:=x11;
  b:=x12;
  x11:= a-F(a)/f1(a);
  x12:= a-((b-a)*f(a)/(f(b)-f(a)));
  x:=(x11+x12)/2;
 end;
writeln ('Metod hord i kasatelnyh x=',x11:0:4);
readln
end.
1
0 / 0 / 0
Регистрация: 11.10.2013
Сообщений: 7
11.10.2013, 16:31  [ТС]
а что такое количество итераций?
0
Почетный модератор
 Аватар для Puporev
64316 / 47612 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
11.10.2013, 16:41
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

За сколько действий найдем корень.

Добавлено через 6 минут
С числом итераций
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
program Project2;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
 
function f(var x:real):real;
begin
f:=ln(x)/ln(10)-2/(x*x) 
end;
function f1(var x:real):real;
begin
f1:=(x*x+4)/(x*x*x); {ïåðâàÿ ïðîèçâîäíàÿ}
end;
function f2(var x:real):real;{âòîðàÿ ïðîèçâîäíàÿ}
begin
f2:=-(x*x+12)/(x*x*x*x);
end;
var a,b,c,x:real;
    e,x0:real;
    x11,x12:real;
    n:integer;
begin
a:=2;
b:=3;
e:=0.0001;
n:=0;
repeat
   c:=(a+b)/2;
   if F(a)*F(c)<=0 then b:=c
   else a:=c;
   n:=n+1;
until abs(b-a)<e;
x:=(a+b)/2;
writeln('Metod delenia popolan x=',x:0:4,'  iter=',n);
a:=2;
b:=3;
n:=0;
repeat
c:=(f(b)*a-f(a)*b)/(f(b)-f(a));
n:=n+1;
if abs(f(c))<=e then
 begin
  writeln('Metod hord x=',c:0:4,'  iter=',n);
  break;
 end;
if f(a)*f(b)>0 then a:=c else b:=c;
until abs((f(b)*a-f(a)*b)/f(b)-f(a)-c)<=e;
a:=2;
b:=3;
n:=0;
if f(a)*f1(a)>0 then x:=a else x:=b;
while abs(f(x))>e do
 begin
  x:=x-f(x)/f1(x);
  n:=n+1
 end;
writeln('Metod kasatelnyh x=',x:0:4,'  iter=',n);
a:=2;
b:=3;
n:=0;
x0:=(b-a)/2;
x11:=x0-f(x0)/f1(x0);
x12:=a-((b-a)*f(a)/(f(b)-f(a)));
x:=(x11+x12)/2;
while  abs(x-x11)>e do
 begin
  a:=x11;
  b:=x12;
  x11:= a-F(a)/f1(a);
  x12:= a-((b-a)*f(a)/(f(b)-f(a)));
  x:=(x11+x12)/2;
  n:=n+1
 end;
writeln ('Metod hord i kasatelnyh x=',x11:0:4,'  iter=',n);
readln
end.
1
0 / 0 / 0
Регистрация: 11.10.2013
Сообщений: 7
11.10.2013, 16:42  [ТС]
а как сделать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.10.2013, 16:42
Помогаю со студенческими работами здесь

Численные методы решения нелинейных уравнений:метод половинного деления(График)
Дали делать курсач по методу половинного деления. Все написал а график не знаю как. Помогите пожалуйста

Численые методы решения нелинейных уравнение: метод половинного деления
procedure TForm1.Button1Click(Sender: TObject); var a,b,e,c,x: Extended; function f(x: Extended): Extended; begin ...

Создать класс для решения нелинейных уравнений
Люди извените за идиотский воопрос канешно но все таки я иго задам мне нужно зделать задания по ООП 1.Создать клас для ришения...

Методы решения сеточных уравнений
численное решение задачи для уравнения колебания струны

Численные методы решения дифференциальных уравнений
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru