|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
![]() |
|
Опции темы | Опции просмотра |
![]() |
#1 (permalink) |
Новичок
Регистрация: 08.11.2014
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
![]() f=1+Cos(x)/(3-Sin(x)-0.5) End Functioin Sub решениеуравнения() Dim x As Integer, y As Integer, y1 As Integer, b As Integer 'Range(a,b) a=-3 b=3 h=1 For x=a To b Step h y1=y2 y2=f(x+h) If y1*y2<=0 Then Debug.Print x, x+h 'For x=a To x+h End If Next y=f(x)'=(1+Cos(x))/(3-Sin(x) -0.5) End Sub Sub coren() e=0.0001 y1=f(a) While (b-a)>2*e x=(a+b)/2 y=f(x) If y*y1<=0 Then b=x Else a=x y1=y Debug.Print x End Sub |
![]() |
![]() |
![]() |
|
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Эти топики схожи с вашим, вам будет интересно ознакомиться Решить линейное уравнение ax+b=0 в Паскале Метод половинного деления и метод Рунтге-Кутта Решение нелинейного уравнения методом деления отрезка пополам Помогите решить уравнение. Паскаль Решить дифференциальное уравнение Решить дифференциальное уравнение в Паскале |
![]() |
#3 (permalink) |
Member
Регистрация: 22.10.2016
Сообщений: 62
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
![]()
Ваша функция не имеет корней на заданном вами интервале. Но я привожу вам код на QBasic, где реализован метод половинного деления.
Код:
REM REM QBASIC REM DECLARE FUNCTION f! (x!) CLS a = -3 b = 3 eps = .0001 DO x = (a + b) / 2 IF f(a) * f(x) > 0 THEN a = x ELSE b = x LOOP UNTIL ABS(a - b) < eps PRINT "X ="; x END FUNCTION f (x) f = 1 + COS(x) / (2.5 - SIN(x)) END FUNCTION |
![]() |
![]() |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
![]() |
Опции темы | |
Опции просмотра | |
|
|