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

Лабы / Лабы 2002 / лаб6 очтет

.doc
Скачиваний:
26
Добавлен:
17.04.2013
Размер:
33.28 Кб
Скачать

Отчёт по шестой лабораторной работе по численным методам.

Задание 6

Код программы:

ep = 1;

epp = ep;

n = 20;

[a,b] = demomatr(n,ep);

demoprog(n,ep)

for i=1:20,

epp = epp/2;

demoprog(n,epp)

end

Полученне резальтаты:

det(A) = 1, cond(A)=2.09159e+006 eps=0

det(A) = 0.5, cond(A)=4.18319e+006 eps=1.1547

det(A) = 0.25, cond(A)=8.36637e+006 eps=3.4641

det(A) = 0.125, cond(A)=1.67327e+007 eps=8.0829

det(A) = 0.0625, cond(A)=3.34655e+007 eps=17.3205

det(A) = 0.03125, cond(A)=6.6931e+007 eps=35.7957

det(A) = 0.015625, cond(A)=1.33862e+008 eps=72.7461

det(A) = 0.0078125, cond(A)=2.67724e+008 eps=146.647

det(A) = 0.00390625, cond(A)=5.35448e+008 eps=294.449

det(A) = 0.00195313, cond(A)=1.0709e+009 eps=590.052

det(A) = 0.000976563, cond(A)=2.14179e+009 eps=1181.26

det(A) = 0.000488281, cond(A)=4.28358e+009 eps=2363.67

det(A) = 0.000244141, cond(A)=8.56717e+009 eps=4728.5

det(A) = 0.00012207, cond(A)=1.71343e+010 eps=9458.15

det(A) = 6.10352e-005, cond(A)=3.42687e+010 eps=18917.5

det(A) = 3.05176e-005, cond(A)=6.85373e+010 eps=37836.1

det(A) = 1.52588e-005, cond(A)=1.37075e+011 eps=75673.3

det(A) = 7.62939e-006, cond(A)=2.74149e+011 eps=151348

det(A) = 3.8147e-006, cond(A)=5.48299e+011 eps=302697

det(A) = 1.90735e-006, cond(A)=1.0966e+012 eps=605394

det(A) = 9.53674e-007, cond(A)=2.19319e+012 eps=1.21079e+006

Каждый раз ep уменьшалось в два раза.

Задание 7

Несолько изменив функцию demoprog.m получаем функцию lab67.m :

function lab67(n,ep)

% выводит значениЯ det(A), cond(A), || Y - X ||

% длЯ заданных n и ep

%n=10;

%ep=1;

%n = input ('Введите n :');

%ep = input ('Введите ep :');

[A,B] = demomatr(n,ep);

Y=inv(A)*B;

X=(1:n)';

epsylon=norm(Y-X);

%s = sprintf('det(A) = %g, cond(A)=%g eps=%g',det(A),cond(A), epsylon);

epsylon

Таблица значений:

N EP Epsylon

20 10 1.0392

10 20 1.0970

15 30 1.1959

15 3 2.3094

35 3 2.3094

35 1 0.0000

35 0.1 0.5470

50 100 1.1547

50 1000 1.1637

Задание 8

N = 50

Ep = 0.1

[A,B] = demomatr(n,ep);

1)С помощью nnls

X1 = nnls(A,B);

2)С помощью pinv

X2 = pinv(A)*B;

3)С помощью inv

X3 = inv(A)*B

Решение:

1 2 3

0.6667 0.6667 0

2.1667 2.1667 0

2.9167 2.9167 0

4.0417 4.0417 8.0000

4.9792 4.9792 4.0000

6.0104 6.0104 6.0000

6.9948 6.9948 7.0000

8.0026 8.0026 8.0000

8.9987 8.9987 9.0000

10.0007 10.0007 10.0000

10.9997 10.9997 11.0000

12.0002 12.0002 12.0000

12.9999 12.9999 13.0000

14.0000 14.0000 14.0000

15.0000 15.0000 15.0000

16.0000 16.0000 16.0000

17.0000 17.0000 17.0000

18.0000 18.0000 18.0000

19.0000 19.0000 19.0000

20.0000 20.0000 20.0000

21.0000 21.0000 21.0000

22.0000 22.0000 22.0000

23.0000 23.0000 23.0000

24.0000 24.0000 24.0000

25.0000 25.0000 25.0000

26.0000 26.0000 26.0000

27.0000 27.0000 27.0000

28.0000 28.0000 28.0000

29.0000 29.0000 29.0000

30.0000 30.0000 30.0000

31.0000 31.0000 31.0000

32.0000 32.0000 32.0000

33.0000 33.0000 33.0000

34.0000 34.0000 34.0000

35.0000 35.0000 35.0000

36.0000 36.0000 36.0000

37.0000 37.0000 37.0000

38.0000 38.0000 38.0000

39.0000 39.0000 39.0000

40.0000 40.0000 40.0000

41.0000 41.0000 41.0000

42.0000 42.0000 42.0000

43.0000 43.0000 43.0000

44.0000 44.0000 44.0000

45.0000 45.0000 45.0000

46.0000 46.0000 46.0000

47.0000 47.0000 47.0000

48.0000 48.0000 48.0000

49.0000 49.0000 49.0000

50.0000 50.0000 50.0000

Задание 9

Adeform = A(1:49,:);

Bdeform = B(1:49);

Xdeform = nnls(Adeform,Bdeform);

Решение:

0

2.49999999999995

2.75000000000008

4.12500000000006

4.93750000000013

6.03125000000002

6.98437500000004

8.00781249999992

8.99609374999993

10.00195312499998

10.99902343750013

12.00048828124988

12.99975585937498

14.00012207031254

14.99993896484373

16.00003051757812

16.99998474121109

18.00000762939450

18.99999618530276

20.00000190734853

20.99999904632565

22.00000047683712

22.99999976158149

24.00000011920934

24.99999994039541

26.00000002980240

26.99999998509876

28.00000000745046

28.99999999627464

30.00000000186270

30.99999999906877

32.00000000046569

32.99999999976716

34.00000000011638

34.99999999994176

36.00000000002918

36.99999999998548

38.00000000000726

38.99999999999653

40.00000000000188

40.99999999999913

42.00000000000045

42.99999999999980

44.00000000000011

44.99999999999996

45.99999999999999

46.99999999999996

48.00000000000000

49.00000000000005

50.00000000000003

Соседние файлы в папке Лабы 2002