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

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

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

> Решение системы нелинейных уравнений, Метод итераций и метод Зейделя...
Jill
сообщение 17.01.2006 16:26
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 105
Пол: Женский
Реальное имя: Юлия

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


Помогите, ребята! Про линейные системы информацию нашла.
А вот про нелинейные - не нашла ни слова... dry.gif

Задана система:
cos(x+0.5)-y=2
siny-2x=1

Требуется решить систему методом итераций и методом Зейделя. Метод Зейделя нашла только для линейных систем. Про итерации вообще молчу...
Помогите, плз!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
klem4
сообщение 18.01.2006 15:58
Сообщение #2


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

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


Хм вроде перевел с горем пополам, но что-то я не догоняю, программ практически при любых данных выдает один и тот-же результат, хотя возможно где-то я и ошибся :

Добавлено : гыгы надо просто ф-ю поменять ;)
uses crt;
const
n = 2;
var
f,x,w : array[1..n] of double;
eps,d,e,g : double;
i,k,m,fin,mis : integer;

procedure snur;
begin
f[1] := sqrt(x[1]) - sqrt(x[2] -1) - x[1] + 8;
f[2] := -sqrt(x[1]) - sqrt(9 - x[2]) - x[2] + 10;
end;

begin
clrscr;
write('Введите предельную погрешность : '); readln(eps);
writeln('Введите начальное приближение');
clrscr;
for i := 1 to n do begin
write('x[',i,']='); readln(x[i]);
end;
k := 0; d := 0.5; fin := 1; mis := 1;

repeat
inc(k);
d := -d;
gotoxy(4,60);
writeln(k,' - e приближение');
e := 0;
for i := 1 to n do begin
snur;
x[i] := x[i] + f[i];
end;
for i := 1 to n do e := e + f[i] * f[i];
e := sqrt(e);
g := e; w[round(1.5 + d)] := e;
gotoxy(5,60);
write('Текущая невязка ');
gotoxy(6,60);
writeln(g:3:3);
delay(100);
if (w[round(1.5 - d)] - w[round(1.5 + d)] < 0) and (k > 9) then begin
mis := 0;
fin := 0;
end;
if e > eps then
for i := 1 to n do x[i] := x[i] + f[i]
else begin
fin := 0;
for i := 1 to n do x[i] := x[i] + eps;
end;
gotoxy(1, 1);
for i := 1 to n do writeln('x[',i,']=',x[i]:3:2);
until (fin = 0) or (k>1000);

if mis = 1 then begin
writeln('Окончательный результат : ');
writeln('Точность удовлетворительная ');
end
else writeln('Процесс расходится ');
readln;
end.


Сообщение отредактировано: volvo - 5.11.2006 21:27


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Jill   Решение системы нелинейных уравнений   17.01.2006 16:26
klem4   у нас на форуме такого не припомню, а вот в интерн...   17.01.2006 16:32
Jill   klem4, пересмотри ссылки - там везде ЛИНЕЙНЫЕ сист...   17.01.2006 16:37
klem4   Попробую что-нибуь поискать. зы Вот мне просто и...   17.01.2006 16:42
Jill   оффф: самое интересное, что так оно и есть учусь ...   17.01.2006 16:48
klem4   Вот посмотри, только решение на basic-e Pешение н...   17.01.2006 16:54
Jill   не открывается: "Невозможно найти страницу...   17.01.2006 16:57
volvo   Прикрепляю (это - то самое решение, которое нашел ...   17.01.2006 16:58
Jill   та да, ребятЫ... если б я еще не в первый раз лист...   17.01.2006 17:03
klem4   Сейчас попробую перевести на паскаль, заняться неч...   17.01.2006 17:38
klem4   Хм вроде перевел с горем пополам, но что-то я не д...   18.01.2006 15:58
Jill   :( выдавало ошибку 116 Must be in 8087 mode to co...   20.01.2006 11:25
volvo   выдавало ошибку 116 Must be in 8087 mode to comp...   20.01.2006 11:33
willhunting   Ну, а если система расходится - ничего сделать с...   29.04.2007 20:23
Jill   согласна, что можно было просто Real а вот только...   20.01.2006 11:40
volvo   Приведи данные, которые ты вводишь в программу, и ...   20.01.2006 11:42
Jill   ок, volvo, я поняла :) погрешность 0,01 приближ...   20.01.2006 11:50
willhunting   Если вдруг кто-то знает метод итераций, то подскаж...   5.04.2007 19:33
willhunting   Я написал прогу, но она не работает. Вот алгоритм:...   13.04.2007 19:41


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

 



- Текстовая версия 20.07.2025 15:22
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"