Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.15.25.127] |
|
Страницы: (3) [1] 2 3 все ( Перейти к последнему сообщению ) |
Сообщ.
#1
,
|
|
|
Если у кого нибудь есть исходники по методу итераций можете(если будете любезны)скинуть мне на мыло (если не затруднит), а то совсем ни чего не получается!
|
Сообщ.
#2
,
|
|
|
Будем любезны , если ты скажешь нам о том, какой метод итерации (их ведь много-много) тебя интересует.
|
Сообщ.
#3
,
|
|
|
Насколько я понял, ты имеешь ввиду метод простых итераций для нахождения приближенного значения корня уравнения. Если это действительно так, то тебе должен помочь отчёт к моей лабе по этой теме.
Прикреплённый файлEquaSolve.doc (59.5 Кбайт, скачиваний: 3679) |
Сообщ.
#4
,
|
|
|
Цитата Deacon,5.05.04, 19:52 Если у кого нибудь есть исходники по методу итераций можете(если будете любезны)скинуть мне на мыло (если не затруднит), а то совсем ни чего не получается! Извиняюсь за не так выраженую мысль!!! Я хотел сказать что мне нужен метод простых итераций для решения систем линейных уравнений.Если у кто-то может что-небудь подсказать буду и признателен. А также спасибо за все подсказаное !!! |
Сообщ.
#5
,
|
|
|
А у тебя есть описание этого метода для систем линейных уравнений?
Если да, то выложи, попробуем закодировать |
Сообщ.
#6
,
|
|
|
{$N+} const Eps=1e-5; {точность} var x,z: real; itt: integer; {кол-во итераций} function F(value: real): real; {функция} begin F:= Sqr(exp(value))-2.0; end; begin write('Enter first approximation: '); readln(z); {первое приближённое значение} x:=F(z); itt:=0; repeat z:=x; x:=F(z); inc(itt); until abs(x-z)<eps; {пока не будет достигнута нужная точность} writeln('Root: ',x:1:5, ' (',itt,' itterations)'); end. кажись, даже не всегда работает... (NAN) |
Сообщ.
#7
,
|
|
|
2 romtek: По-моему то, что ты выложил - это решение одного уравнения, а речь идёт о решении системы линейных уравнений.
2 Deacon: Я думаю, что надо сначала привести систему к "ступенчатому виду" (проще говоря, выразить все неизвестные через одну), а потом уже вычислять значение каждой переменной тем способом, который был здесь неоднократно упомянут (см. мою лабу и код romtek'a) |
Сообщ.
#8
,
|
|
|
Цитата romtek,7.05.04, 22:47 Ты прав, это "для старта" 2 Deacon: Ready! Steady! Go! |
Сообщ.
#9
,
|
|
|
Метод простых итераций:
А - основная матрица СЛАУ (размерность n*n) b - вектор св.членов (размерность n) X(0) - произвольно заданный вектор (размерность n) X(k)=A*X(k-1)+b Вычисляем X(k)-катый до тех пор, пока MAX(X(k)[i]-X(k-1)[i])>eps по модулю (ессно i пробегает значения от 1 до n, т.о. мы находим максимальную разность!). p.s. Могу кинуть код на Дельфи, который реализует сходный метод - метод Зейделя. |
Сообщ.
#10
,
|
|
|
Кидай посмотрим
Я ни разу не слышал про метод Зейделя - надо повышать свой уровень знаний. |
Сообщ.
#11
,
|
|
|
Sky Shade, сходи в "Алгоритмы", там недавно это обсуждалось.
И вообще такие вещи лучше обсуждать там. |
Сообщ.
#13
,
|
|
|
Вообще метод простых итераций и метод Зейделя очень похожи.
Если в методе простых итераций при получении xn(k+1) мы будем использовать значения xn(k), то в методе Зейделя будем использовать уже уточненные значении корня, полученные на данной итерации. Т.е. для нахождения x2(k+1) используем не x1(k), а x1(k+1), и т.д. Таким образом метод Зейделя обычно сходится быстрее метода простых итераций. В атачке - реализации методов решения СЛАУ на Delphi - метод Гаусса, метод Крамера, метод простых итераций, метод Зейделя, метод обратной матрицы. Кстати, для решения СЛАУ в MS Excel - наиболее легко выполнимым является метод обратной матрицы, т.к. используются только стандартные функции (см. пример на Excel.) Прикреплённый файлslau.zip (4.01 Кбайт, скачиваний: 1626) |
Сообщ.
#14
,
|
|
|
mikv, что-то ты какую-то ересь написал про метод простых итераций, тебе не кажется?
по крайней мере то, что касается Цитата mikv X(k)=A*X(k-1)+b исходя хотя бы из того, что первоначальная задача стоит так: Ax=b... теперь подумай, что из чего следует ... |
Сообщ.
#15
,
|
|
|
Цитата seeker @ что-то ты какую-то ересь написал про метод простых итераций, тебе не кажется? Цитата seeker @ исходя хотя бы из того, что первоначальная задача стоит так: Ax=b... а я исходил из того что задача поставлена как: A*x+b=0 |