![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 21.05.2009
Сообщений: 37
|
![]()
решить нелинейное уравнение методом итераций x^4*e^x+(корень кубический из x-1)-2=0, исходные данные (интервал, точность вычислений)считываются с файла, результаты (корни уравнения) дописываются в исходный файл, нужна программа в Паскале
Последний раз редактировалось lubov_morkov; 10.05.2011 в 18:52. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,821
|
![]()
проблема в чем?
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 21.05.2009
Сообщений: 37
|
![]()
вот примерный код, но он не работает, в чем ошибка?
function solve(a,b,eps:real):real; var x,y:real; begin x:=a; y:=exp(ln(x)*4)*exp(ln(2.17)*x)+exp (ln(x-1)/3)-2; while abs(y-x)>eps do begin x:=y; y:=exp(ln(x)*4)*exp(ln(2.17)*x)+exp (ln(x-1)/3)-2; end; solve:=x; end; var f:text; a,b,eps,r:real; begin assign(f,'input.txt'); reset(f); readln( a, b, eps); close(f); r:=solve(a,b,eps); assign(f,'input.txt'); append(f); writeln(f,r:0:2); close(f); readln; end. |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,821
|
![]()
ln(2.17) - зачем?
abs(y-x) - это не вычисление точности, погрешности... |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 21.05.2009
Сообщений: 37
|
![]()
ln(2.17) - это число е,
а как будет правильнее написать |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 10.06.2010
Сообщений: 239
|
![]()
y:=exp(4*ln(x))*exp(x)+exp(ln(x-1)/3)-2
Чтобы слова не расходились с делом, нужно молчать и ничего не делать.
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 21.05.2009
Сообщений: 37
|
![]()
НУ в чем ошибка?подскажите...
function solve(a,b,eps:real):real; var x,y:real; begin x:=a; y:=exp(4*ln(x))*exp(x)+exp(ln(x-1)/3)-2; while abs(y-x)>eps do begin x:=y; y:=exp(ln(x)*4)*exp(ln(2.17)*x)+exp (ln(x-1)/3)-2; end; solve:=x; end; var f:text; a,b,eps,r:real; begin assign(f,'input.txt'); reset(f); readln( a, b, eps); close(f); r:=solve(a,b,eps); assign(f,'input.txt'); append(f); writeln(f,r:0:2); close(f); end. |
![]() |
![]() |
![]() |
#8 | |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,821
|
![]() Цитата:
На каждом шаге должно быть: х = х + Dx, y = y(x). А вы считаете x = y(x), y = y(x), т.е. y = y(y(x)). Про погрешность я вам уже говорил. |
|
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нелинейное уравнение (метод простых итераций) | maloy-rom | Общие вопросы C/C++ | 4 | 14.02.2010 23:14 |
уравнение A*X=B | CyberOrcX | Помощь студентам | 4 | 14.10.2009 16:12 |
линеализовать нелинейное уравнение | Alis | Помощь студентам | 2 | 28.09.2009 22:22 |
Уравнение | Paul_AG | Общие вопросы C/C++ | 19 | 10.05.2009 22:50 |
как решить нелинейное уравнение методом простых итераций??? | Bonifaciy | Помощь студентам | 3 | 13.11.2008 17:30 |