Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Контрольная 2 Никитина Дарья ПИН 31Д

.docx
Скачиваний:
5
Добавлен:
16.07.2021
Размер:
87.28 Кб
Скачать

Контрольная работа 2

Вариант 2

никитина дарья пин 31д

Код m-файла (метод простой итерации):

n1=input('Введите номер группы: ');

n2=input('Bведите ваш номер в списке группы: ');

n=n1+n2;

rand('seed',n);

m=7;

m1=m-1;

c1=2;

c2=3;

e=ones(1,m);

a=rand(1,m1);

b=rand(1,m)+e*c1;

b=b';

c=rand(1,m1);

d=rand(1,m)+e;

R1=diag(a,-1);

R2=diag(b);

R3=diag(c,1);

disp('Матрица системы:');

A=(R1+R2+R3)*c2

disp('Правая часть системы:');

b

P=size(A);

n=P(1);

alfa(1)=0;

beta(1)=A(1,1);

gamma(1)=A(1,2);

alfa(n)=A(n,n-1);

beta(n)=A(n,n);

gamma(n)=0;

for i=2:n-1

alfa(i)=A(i,i-1);

beta(i)=A(i,i);

gamma(i)=A(i,i+1);

end

c(1)=0;

d(1)=0;

c(2)=-gamma(1)/beta(1);

d(2)=b(1)/beta(1);

for i=3:n

c(i)=-gamma(i-1)/(alfa(i-1)*c(i-1)+beta(i-1));

d(i)=(b(i-1)-alfa(i-1)*d(i-1))/(alfa(i-1)*c(i-1)+beta(i-1));

end

x(n)=(b(n)-alfa(n)*d(n))/(alfa(n)*c(n)+beta(n));

for i=n-1:(-1):1

x(i)=c(i+1)*x(i+1)+d(i+1);

end

disp('ОТВЕТ:');

x'

disp('Проверка, точное решение:');

A^(-1)*b

Результат выполнения:

>> PROGON

Введите номер группы: 31

Bведите ваш номер в списке группы: 1

Матрица системы:

A =

8.1330 2.9122 0 0 0 0 0

1.2393 7.4961 0.5246 0 0 0 0

0 2.2064 8.4483 2.4596 0 0 0

0 0 0.6380 6.2283 0.8193 0 0

0 0 0 0.1244 6.4464 0.7998 0

0 0 0 0 2.6324 6.2505 2.6964

0 0 0 0 0 2.0866 7.9126

Правая часть системы:

b =

2.7110

2.4987

2.8161

2.0761

2.1488

2.0835

2.6375

ОТВЕТ:

ans =

0.2322

0.2823

0.1802

0.2727

0.3204

0.0616

0.3171

Проверка, точное решение:

ans =

0.2322

0.2823

0.1802

0.2727

0.3204

0.0616

0.3171

>>

Соседние файлы в предмете Численные методы