С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Free Pascal
Войти
Регистрация
Восстановить пароль
 
FlaringSoul
0 / 0 / 0
Регистрация: 13.05.2013
Сообщений: 2
1

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

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

Задание дана матрица 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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2013, 17:48
Ответы с готовыми решениями:

Найти наибольший из положительных элементов матрицы и заменить этим числом все элементы матрицы на обратной диагонали.
Найти наибольший из положительных элементов матрицы и заменить этим числом все элементы матрицы на...

Вычисление обратной матрицы
Написать функцию или процедуру для вычисления обратной матрицы.

Нахождение обратной матрицы
помогите пожалуйста нужна БЛОК СХЕМА и ПРОГРАММА на нахождение обратной матрицы, (паскаль)

Вычисление определителя и обратной матрицы
Помогите составить программу, пожалуйста. Программа должна транспонировать, вычислять определитель...

СЛАУ методом обратной матрицы
Матричным методом

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2013, 17:48

Уточнение элементов обратной матрицы.
Добрый день ! Окажите помощь ,пожалуйста. Задание - Дана матрица А .Найти обратную к ней....

Найти сумму элементов обратной диагонали матрицы
Вводится квадратный двухмерный массив. Найти сумму элементов на его обратной диагонали. Обратная...

Составить подпрограмму для получения обратной матрицы
В общем суть проблемы: нарыл эту программку, но она не работает... в самом начале в строке &quot;...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru