Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.06.2011, 16:57   #1
klubnika
Пользователь
 
Регистрация: 26.06.2011
Сообщений: 14
По умолчанию метод итераций

решить уравнение lnx-x+18=0 методом итераций и составить программу
klubnika вне форума Ответить с цитированием
Старый 26.06.2011, 17:04   #2
DoubleTrouble
Пользователь
 
Регистрация: 26.05.2010
Сообщений: 32
По умолчанию

в первый раз слышу про метод итераций. знаю что можно это методом Секущий, Вегстейна или Дихотомии решить. и там присутствуют итерации, но чтобы просто так по моему нет. Если подойдёт так то могу решить
DoubleTrouble вне форума Ответить с цитированием
Старый 26.06.2011, 17:07   #3
klubnika
Пользователь
 
Регистрация: 26.06.2011
Сообщений: 14
По умолчанию

мне надо решить методом простой итерации.
и еще есть метод Ньютона и метод половинного деления.
а то, что вы назвали - мы не проходили.преподаватель не примет..
спасибо огромное, за попытку помочь.
klubnika вне форума Ответить с цитированием
Старый 26.06.2011, 17:19   #4
DoubleTrouble
Пользователь
 
Регистрация: 26.05.2010
Сообщений: 32
По умолчанию

метод секущих является модификацией метода ньютона. метод Вегстейна является модификацией секущих.

Метод деления пополам это метод для нахождения максимума и минимума функции. Хотя по моему вы имеете ввиду метод Дихотомии тут(там тоже присутствует деление пополам)
Код:
uses crt;
function F(x:real):real;
begin
F:=log(x)-x+18;
end;
procedure Bisec(a,b,e:real;var x:real);
var c:real;
begin
if F(a)*F(b)<0 then
  begin
   repeat
   c:=(a+b)/2;
   if F(a)*F(c)<=0 then b:=c
   else a:=c;
   until b-a<e;
   x:=(a+b)/2;
  end
else x:=a-1;
end;
var a,b,x,e:real;
begin
clrscr;
writeln('Найти корень функции F(x)=ln x-x+18');
write('Начало интервала: ');readln(a);
repeat
write('Конец интервала: ');readln(b);
until b>a;
repeat
write('Точность: ');readln(e);
until (e>0)and(e<1);
Bisec(a,b,e,x);
if x=a-1 then write('На данном интервале корней нет!')
else writeln('x=',x:0:5);
readln
end.
Вот он. Стопроцентно то что вам надо

Последний раз редактировалось Stilet; 26.06.2011 в 18:48.
DoubleTrouble вне форума Ответить с цитированием
Старый 26.06.2011, 17:30   #5
klubnika
Пользователь
 
Регистрация: 26.06.2011
Сообщений: 14
По умолчанию

это метод итераций?
спасибо огромное вам.

безумно вам благодарна.
эх. я наглею.
но попрошу еще помочь.
методом ньютона надо решить вот это уравнение Xlgx-1/3=0 и запрограммировать
методом дихотомии tgx/2-ctgx/2+x=0

в методе итераций надо еще количество итераций найти и проверку сделать.

Последний раз редактировалось Stilet; 26.06.2011 в 18:49.
klubnika вне форума Ответить с цитированием
Старый 26.06.2011, 19:08   #6
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Сообщение от klubnika Посмотреть сообщение
это метод итераций?
спасибо огромное вам.

безумно вам благодарна.
эх. я наглею.
но попрошу еще помочь.
методом ньютона надо решить вот это уравнение Xlgx-1/3=0 и запрограммировать
методом дихотомии tgx/2-ctgx/2+x=0

в методе итераций надо еще количество итераций найти и проверку сделать.
Это 50 рублей за задачу...
Вадим Мошев вне форума Ответить с цитированием
Старый 26.06.2011, 19:16   #7
DoubleTrouble
Пользователь
 
Регистрация: 26.05.2010
Сообщений: 32
По умолчанию

в методе дихотомии доставляете в строку F:=log(x)-x+18; то что надо и она его решит. в данном случае F:= tx(x/2)-ctg(x/2)+x

Вот ньютоном:
uses Crt;
var x,eps,a,b,x1,c:real;
function F(x:real):real;
begin
f:=x*log(x)-1/3;{Ваша функция}
end;

function F1(x:real):real;
begin
F1:=; {первая производная для Ньютона}
end;

function Newton(x1,e:real):real;{метод Ньютона}
var x2,b:real;
begin
x2:=x1;
repeat
b:=x2;
x2:=b-F(b)/F1(b);
until abs(x2-b)<e;
Newton:=x2;
end;

Производную сами вычислите могу только сказать что производная lg x= 1/x lg 10, а дальше по формуле производной произведения нахдите(лешь просто самому думать. уж извините)
DoubleTrouble вне форума Ответить с цитированием
Старый 26.06.2011, 19:17   #8
klubnika
Пользователь
 
Регистрация: 26.06.2011
Сообщений: 14
По умолчанию

какие 50 р.?
я за помощью сюда обратилась к добрым людям, а не корыстным
klubnika вне форума Ответить с цитированием
Старый 26.06.2011, 19:20   #9
klubnika
Пользователь
 
Регистрация: 26.06.2011
Сообщений: 14
По умолчанию

спасибо, DoubleTrouble! сейчас буду решать
klubnika вне форума Ответить с цитированием
Старый 26.06.2011, 19:27   #10
klubnika
Пользователь
 
Регистрация: 26.06.2011
Сообщений: 14
По умолчанию

еще мне нужно решить систему линейных алгоритмических уравнений 3 способами:
1) простых итераций
2) Зейделя
3) Гаусса

вот система
12,1x1-4,5x2-2x3=19,07
3x1+12,5x2+4,3x3=3,21
-6x1+3,5x2+12,5x3=-18,25
klubnika вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
МЕТОД ИТЕРАЦИЙ антонййй Помощь студентам 0 12.04.2011 21:47
Метод итераций sgvampir Помощь студентам 2 15.01.2011 16:12
Безумно сложные задачки!!!! Метод Гаусса, итераций, метод половинного деления, задача Коши и т.д. Хомяк!!!!! Помощь студентам 4 08.07.2009 10:08
Метод итераций и метод Зейделя prikolist Общие вопросы C/C++ 40 18.06.2009 17:40
Метод итераций и комбинированный метод prikolist Общие вопросы C/C++ 2 16.06.2009 20:51