0 / 0 / 0
Регистрация: 13.05.2013
Сообщений: 2
1

Реализация точности вычислений обратной матрицы

13.05.2013, 17:48. Показов 520. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задание дана матрица 6х6 нужно вычислить обратную матрицу. + нужно использовать точность (даже незнаю как объяснить передаю слова препода)

Вот код программы
Как сделать точность вычислений??
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
uses crt;
const nmax = 20;
type
matr = array[1..nmax,1..nmax] of real;
function Det(size:integer; var m : matr):real;forward;
function AlgDop(size:integer;m:matr;row,col:integer):real;
var temp : matr;
    i,j:integer;
    begin
for i:=1 to row-1 do
 begin
  for j:=1 to col-1 do temp[i,j]:=m[i,j];
  for j:=col+1 to size do temp[i,j-1]:=m[i,j];
end;
for i:=row+1 to size do
 begin
  for j:=1 to col-1 do temp[i-1,j]:=m[i,j];
  for j:=col+1 to size do temp[i-1,j-1]:=m[i,j];
end;
if (row+col) mod 2 = 0 then AlgDop := det(size-1,temp)
else AlgDop := -det(size-1,temp);
end;
 
function Det(size:integer; var m : matr):real;
var i:integer;
    r:real;
begin
if size = 1 then Det:=m[1,1]
else
if size = 2 then Det:=(m[1,1]*m[2,2]-m[1,2]*m[2,1])
else
 begin
  r:=0;
  for i:=1 to size do begin
    r := r + m[1,i]*AlgDop(size,m,1,i);
  end;
  Det:=r;
end;
end;
procedure ObrMatr(a:matr;var am:matr;n:integer);
var i,j:integer;
    dt:real;
begin
dt:=det(n,a);
if abs(dt)<1e-15 then begin
  writeln('Malenkiy opredelitel!');
  exit;
end;
for i:=1 to n do begin
  for j:=1 to n do am[i,j]:=AlgDop(n,a,j,i)/dt;
end;
end;
 
procedure print_matr(n:integer;var a:matr);
var i,j:integer;
begin
for i:=1 to n do
 begin
  for j:=1 to n do
  write(a[i,j]:7:3,' ');
  writeln;
 end;
end;
 
 
var a,b,obr:matr;
    i,j,n,k,z,p:integer;s:real;c:array[1..4,1..4] of real;
    pp:array[1..4,1..4] of string;
    rk:string;
 
 
begin
clrscr;
write('Vvedite N: ');
readln(n);
writeln('‚¢¥¤¨â¥ ',n*n,'elementov matricy:');
for i:=1 to n do
for j:=1 to n do
   begin
    write('a[',i,',',j,']=');
    readln(a[i,j]);
   end;
clrscr;
writeln('Ishodnaya matrica:');
print_matr(n,a);
ObrMatr(a,obr,n);
writeln('Obratnaya matrica:');
print_matr(n,obr);
readkey;
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.05.2013, 17:48
Ответы с готовыми решениями:

Точности вычислений double
Вот у меня возникла проблема при подсчете ряда тейлора в заданном интервале. Проблема заключается...

Обозначение точности вычислений
Добрый день. Не был уверен в какой форум лучше постить этот вопрос - решил, что он больше...

Точности вычислений и преобразований double
Всем привет! Вопрос точности вычислений и преобразований double. Объясните пожалуйста...

Как достичь точности вычислений до 15 знаков в Qt и увидеть результат?
Вычисляю квадратный корень из 7. Получаю 2.64575. Думаю, что точность вычисления больше, но в...

0
13.05.2013, 17:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.05.2013, 17:48
Помогаю со студенческими работами здесь

Использование динамических переменных и организации вычислений с помощью обратной блокировки
Использование динамических переменных и организации вычислений с помощью обратной блокировки....

Реализация вычислений с обыкновенными дробями
Подскажите, что я делаю не так. Вроде рабочий код, но в консоли выводится мусор. Необходимо создать...

Реализация формы обратной связи
На многих сайтах есть вкладка контакты, где помимо того, что можно найти любые контактные данные,...

Реализация функции обратной пропорциональности на К580ВМ80
Нужно реализовать дробно-рациональную функцию обратной пропорциональности y=1/x на МП К580ВМ80.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru