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

получить матрицу

30.09.2010, 10:25. Показов 1433. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Даны квадратные матрицы A порядка m, натуральное число n. Полу-
чить матрицу E + A + A^2 + ... + A^n, где Е - единичная матрица
порядка m.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.09.2010, 10:25
Ответы с готовыми решениями:

Получить матрицу E + A + A^2 + ... + A^n
Даны квадратные матрицы A порядка m, натуральное число n. Получить матрицу E + A + A^2 + ... +...

получить матрицу
1 2 3 . 9 10 0 1 2 . 8 9 0 0 1 . 7 8 . . . . . . 0 0 0 . 0 1

Получить матрицу
как получить матрицу? 1 0 0 ... 0 0 1 1 1 0 ... 0 1 1 1 1 1 ... 1 1 1 . . ...

Получить матрицу.
Даны квадратная матрица A порядка m, натуральное число n, действительные числа p,p,...,p. Получить...

1
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
30.09.2010, 11:57 2
Лучший ответ Сообщение было отмечено ro_mashka2000 как решение

Решение

Задание не очень хорошее. Дело в том что элементы матриц очень быстро растут. Написал для матриц максимум 4х4 и степень 5. Числа от -1 до +1.

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;
{$N+}//директива для работы с extended
const max=4;//макс. разм. матриц
type matr=array[1..max,1..max] of extended;
var m,n:byte;
procedure UmnMt(m1,m2:matr;var m3:matr);/умножение матрицы на матрицу
var k,j,i:byte;
begin
for k:=1 to m do
for j:=1 to m do
   begin
     m3[k,j]:=0;
     for i:=1 to m do
     m3[k,j]:=m3[k,j]+m1[k,i]*m2[i,j];
   end;
end;
procedure Power(var a:matr;k:byte);//возведение матрицы в степень
var b,c:matr;
    i:byte;
begin
if k=1 then b:=a
else
 begin
  c:=a;//запомним исходную
  for i:=1 to k-1 do
   begin
    UmnMt(c,a,b);//умножаем ее на себя, запоминаем в b
    c:=b;//снова она исходная
   end;
 end;
a:=b;//запомним последнюю
end;
 
procedure Summ(var m1:matr;m2:matr);//сумма матриц
var i,j:byte;
begin
for i:=1 to m do
for j:=1 to m do
m1[i,j]:=m1[i,j]+m2[i,j];//к первой добавим вторую, первую запомним
end;
var a,b,e:matr;
    i,j:byte;
begin
clrscr;
randomize;
repeat
write('Введите размер матрицы до ',max,' m=');
readln(m);
until m in [1..max];
writeln('Матрица A:');
for i:=1 to m do
 begin
  for j:=1 to m do
   begin
    a[i,j]:=2*random-1;//числа от -1 до +1
    write(a[i,j]:5:1);
   end;
  writeln;
 end;
writeln;
repeat
write('Введите степень матрицы до ',max+1,' n=');//до 5
readln(n);
until n in [1..max+1];
for i:=1 to m do
for j:=1 to m do
if i=j then e[i,j]:=1 else e[i,j]:=0;//создадим единичную
Summ(e,a);//прибавим к ней первую степень
writeln('Матрица E+A:');
for i:=1 to m do
 begin
  for j:=1 to m do
  write(e[i,j]:5:1);
  writeln;
 end;
writeln;
for i:=2 to n do
 begin
  Power(a,i);//возводим в очередную степень
  Summ(e,a);//суммируем
 end;
writeln('Результат:');
for i:=1 to m do
 begin
  for j:=1 to m do
  write(e[i,j]:16:1);
  writeln;
 end;
readln
end.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.09.2010, 11:57
Помогаю со студенческими работами здесь

получить матрицу
получить матрицу 1 2 3 ... 9 10 0 1 2 ... 8 9 0 0 1 ... 7 8 . . ...

Получить матрицу по образцу
Дано натуральное число n. n от 3 до 10. нужно получить квадратную матрицу вида n*n n n-1 n-2 ...

Получить матрицу по правилу
Даны действительные числа а, … ,а; b, … ,b. Получить действительную матрицу ; i = 1, ..., 20, j =...

Получить квадратную матрицу
Получить квадратную матрицу порядка n такого вида: 1 1 ... 1 1 ...1 ... 1 ... .. 0 ........ ...


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

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

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