IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Метод деления отрезка пополам, Наименьший положительный корень
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 1
Пол: Мужской

Репутация: -  0  +


Задача. Приближенное решение уравнения f(x)=0 методом деления отрезка пополам.(метод биссектрисс) Найти наименьший положительный корень уравнения tg(a*x)-b*x=0. a=0.6319, b=0.9217
Не знаю как найти наименьший положительный корень, а так программа вроде бы работает. заранее спасибо.

Прога:
Код

Program Half;

Uses Crt;

Var
a,b,e,x: real;

Function f(x:real):real;
Begin
f:= (sin(a*x))/(cos(a*x))-b*x;
End;

Begin

Clrscr;
Write('BBeguTe rpaHuL|bI uHTepBa/Ia: ');
Readln(a,b);

if (f(a)*f(b)) > 0 then
Begin
Sound(220);
Delay(200);
NoSound;
Writeln('ERROR! Funkciya ne menyaet znak na intervale!');
Writeln('Press aNy key');
Readkey;
Halt;
End
                     else
Begin
Write('3agauTe To4HocTb: ');
Readln(e);
Writeln;
Writeln('     X     F(X)      A     F(A)      B     F(B)');
Writeln('------------------------------------------------');
While (Abs(b-a)>=2*e) do
Begin
  x:=(b+a)/2;
  if f(x)*f(a)>0 then a:=x else b:=x;
  Writeln(x:8:3,f(x):8:3,a:8:3,f(a):8:3,b:8:3,f(b):8:3);
End;
End;

Writeln;
Writeln('KopeHb ',(B + A) / 2:4:2);
Writeln('Press AnY key');
Readkey;

End.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






А никак... Определение метода дихотомии читал?
Цитата
находит корень уравнения F(x) = 0, где F(x) - непрерывная на отрезке [a,b] функция, удовлетворяющая условию F(a)F(b) < 0.
Понимаешь? ЛЮБОЙ корень... Если тебе нужно именно
Цитата
наименьший положительный корень
, то подбирай такой интервал, в котором этот корень находится...

Цитата
а так программа вроде бы работает
А вот дублировать программы как раз незачем... Есть же уже готовая и проверенная!

Численные методы решения уравнений

А вдруг твоя программа будет сбоить? "Вроде бы" - это не критерий правильности работы... А кто-то скачает, и начнется: "на вашем форуме программы нерабочие"...
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 11.01.2025 5:16
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name