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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.04.2014, 17:23   #1
now2
Форумчанин
 
Регистрация: 12.03.2014
Сообщений: 217
По умолчанию Метод итераций для решения систем линейных уравнений

Задания
I. Напишите программу решения системы линейных уравнений
методом итераций с наперед заданной точностью.
II. Приведите примеры таких систем с преобладающими
диагональными элементами, после приведения которых к
итерационному виду, при их решении методом итераций
используется первая метрика, вторая метрика, систем, к которым
метод итераций не применим. Решите эти системы линейных
уравнений методом итераций с наперед заданной точностью и
осуществите проверку найденного решения. Обоснуйте
правильность полученных результатов.
Контрольные вопросы.

код программы
Код:
program iter;
uses CRT;
var i,j,n,k,V:integer;
M:longint;
A,B:array [1..24,1..24] of double;
E,S,Cc,maxDi,C,Mm: double;
Xx,X,Ba,Bd: array [1..24] of double;
z:char;
 
procedure Matrln;
begin 
for var i:=1 to n do
for var j:=1 to n do
read(A[i,j]);
end;
 
procedure Vectln;
begin
for var i:=1 to n do
read(Ba[i]);
end;
 
BEGIN
ClrScr;
Repeat
write('введите номер варианта V=');
readln(V);
writeln('Variant',V,'');
writeln('ввод исходных данных:');
write('введите точность,e=');
readln(E);
write('введите количество уравнний,n=');
readln(N);
write('введите построчно матрицу А');
Matrln;
write('введите столбец свободных членов В');
Vectln;
 
maxDi:=-1000;
for i:=1 to n do begin
B[i,i]:=0;
for j:=1 to n do
if j<>i then B[i,j]:=-(A[i,j]/A[i,j]);
Bd[i]:=Ba[i]/A[i,i];
if Bd[i]>maxDi then maxDi:=Bd[i]
end;
writeln('maxDi=',maxDi:8:4);
 
C:=0;
for i:=1 to n do begin
Xx[i]:=Bd[i];
S:=0;
for j:=1 to n do
S:=S+abs(B[i,j]);
if C<=S then C:=S;
end;
writeln('C=',C:6:4);
 
if C<1 then begin
 Mm:=abs((1/ln(C))*(ln(maxDi)-ln(E*(1-C)))-1);
 M:=Round(Mm);
 if Frac(Mm)<0.5 then M:=M+1;
 writeln('количество итераций M=',M:3);
  
 for k:=1 to M do begin
 for i:=1 to n do begin;
 Cc:=0; 
 for j:=1 to n do
 Cc:=Cc+B[i,j]*Xx[j];
 X[i]:=Bd[i]+Cc;
 end;
 for i:=1 to n do Xx[i]:=X[i];
 end;
  
 write('X= [');
 for i:=1 to n do write(X[i]:8:4);
 writeln(']');
 end
 else writeln('условия сходимости не выполнимы ');
 write('будете продолжать вычисления?(Y/N) Y');
 z:=ReadKey;
 writeln(z);
 until (z='N') or(z='n');
End.
проверьте плиз результат вывода программы , так должно быть?
код для первого задания для самой системы
Изображения
Тип файла: jpg Безымянный1.jpg (6.5 Кб, 119 просмотров)

Последний раз редактировалось Stilet; 29.04.2014 в 21:33.
now2 вне форума Ответить с цитированием
Старый 29.04.2014, 17:28   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

На бумаге такие системы элементарно решаются. Решите и сравните с компьютерным результатом. Или на бумаге тоже за вас решать? Хоть что-то сами можете?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 29.04.2014, 18:07   #3
now2
Форумчанин
 
Регистрация: 12.03.2014
Сообщений: 217
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
На бумаге такие системы элементарно решаются. Решите и сравните с компьютерным результатом. Или на бумаге тоже за вас решать? Хоть что-то сами можете?
у меня не сходится((((ответ
now2 вне форума Ответить с цитированием
Старый 05.05.2014, 07:37   #4
now2
Форумчанин
 
Регистрация: 12.03.2014
Сообщений: 217
По умолчанию

Help!!!!!!
now2 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PascalABC.Net Метод итераций для решения систем линейных уравнений now2 Помощь студентам 26 06.05.2014 14:07
Метод итераций для систем serhan Паскаль, Turbo Pascal, PascalABC.NET 1 29.11.2011 18:20
Метод Холесского (Краута) для решения систем линейных уравнений (скрин с алгоритмом вложен)) Bogdand Помощь студентам 0 24.06.2011 07:54
Курсовой проект на тему решение систем линейных уравнений методом посл.итераций Ericnex Помощь студентам 1 11.05.2010 15:58
метод прогонки решения линейных уравнений Laplas Общие вопросы C/C++ 4 03.10.2009 12:13