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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.02.2009, 20:07   #1
aly17
 
Регистрация: 12.02.2009
Сообщений: 4
По умолчанию не могу решить задачу по Basic....помогите плз

помогите пожал с задачкой!!!

Найти корень уравнения f(x)=0 для функции 3x-4lnx-5 ( интервал изоляции корня [2;4] ) методом Ньютона с точностью 0.0001
aly17 вне форума Ответить с цитированием
Старый 12.02.2009, 21:13   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

При чем ту ВАСИК?
Где формула для решения?
Цитата:
Сообщение от aly17 Посмотреть сообщение
всмысле при чём тут бейсик??))задачу надо решить в Basic))))
В смысле - решите математику, а в программировании вам помогут.
Решать за вас уравнения тут не будут.

Последний раз редактировалось mihali4; 12.02.2009 в 22:04.
mihali4 вне форума Ответить с цитированием
Старый 12.02.2009, 21:38   #3
aly17
 
Регистрация: 12.02.2009
Сообщений: 4
По умолчанию

всмысле при чём тут бейсик??))задачу надо решить в Basic))))
aly17 вне форума Ответить с цитированием
Старый 12.02.2009, 21:46   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

aly17 Лично я про метод Ньютона в последний раз слышал года 2 назад. Беглый взгляд на описание в википедии дал понять, что приведенную вами функцию нужно модифицировать. Еще там что-то со сходимостью... В общем, для начала выполните все, что не связано с программированием (90%) и выложите сюда все формулы.

Насколько понял, нужно считать x, пока |x(n+1)-x(n)|>=eps. Вот и приведите формулу для x(n+1).
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 13.02.2009, 11:29   #5
aly17
 
Регистрация: 12.02.2009
Сообщений: 4
По умолчанию

то есть мне нужно сначала построить график,найти корни методом ньютона,а потом уже программировать?))
aly17 вне форума Ответить с цитированием
Старый 13.02.2009, 12:49   #6
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от aly17 Посмотреть сообщение
то есть мне нужно сначала построить график,найти корни методом ньютона,а потом уже программировать?))
Именно так. Сам по себе компьютер ничего не умеет. Это - тупая железка. Только она может "тупить" или "соображать" во много раз быстрее вас.
А вот ваша программа "научит" его соображать...
Но вам нужно не "построить график,найти корни методом ньютона", а продумать технологию решения, то есть - расписать, как бы вы это сделали "вручную".
А программирование состоит в том, чтобы вашу технологию решения такой задачи перенести на любой понятный компьютеру язык.

Последний раз редактировалось mihali4; 13.02.2009 в 12:53.
mihali4 вне форума Ответить с цитированием
Старый 13.02.2009, 13:04   #7
aly17
 
Регистрация: 12.02.2009
Сообщений: 4
По умолчанию

ну вот мне требуется найти корни....мне прост надо это уравнение решить как обычно в математике,да?только через график....потому что метод ньютона через график...
aly17 вне форума Ответить с цитированием
Старый 13.02.2009, 17:50   #8
quf
Пользователь
 
Регистрация: 11.04.2008
Сообщений: 18
По умолчанию

не надо через графики, тем более дан EPS

держи на псевдокоде(нет бейсика под рукой, да и не помню уже его))):

SearchRoot(f,x0,EPS);
begin
Xold:=x0;
k:=1;
Xnew:=Xold-f(Xold)/df(Xold)
while |Xnew-Xold|>=EPS
begin
Xold:=Xnew;
Xnew:=Xold-f(Xold)/df(Xold)
k:=k+1;
end;
return Xnew;
end;

нужно написать еще одну функцию df(x), которая является производной

Последний раз редактировалось quf; 13.02.2009 в 18:16.
quf вне форума Ответить с цитированием
Старый 13.02.2009, 18:28   #9
quf
Пользователь
 
Регистрация: 11.04.2008
Сообщений: 18
По умолчанию


Вот решение в маткаде, x0 - это начальное приближение
Бейсик забыл...
Справишься?
quf вне форума Ответить с цитированием
Старый 13.02.2009, 20:32   #10
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Перевел на бейсик вариант quf (пост #8).
f - исходная функция (3x -4lnx -5)
df - производная (3 - 4/x)

Код:
CONST eps = .0001
DIM Xold, Xnew AS DOUBLE
DIM f, df AS DOUBLE
DIM k AS INTEGER
CLS
Xold = 4
k = 1
f = 3 * Xold - 4 * LOG(Xold) - 5
df = 3 - 4 / Xold
Xnew = Xold - f / df
DO WHILE ABS(Xnew - Xold) >= eps
Xold = Xnew
f = 3 * Xold - 4 * LOG(Xold) - 5
df = 3 - 4 / Xold
Xnew = Xold - f / df
k = k + 1
LOOP
PRINT USING "##.#######"; Xnew
END
Выводит 3.2299594
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Basic не могу решить pavelewseew Помощь студентам 1 28.01.2009 18:44
Помогите плз очень надо, никак не могу решить 3 задачки Pihan Помощь студентам 2 09.12.2008 15:47