Операции над матрицами

Содержание

Слайд 2

1 Заполнение

Операции над матрицами

Пример: Сформировать матрицу A(N), так чтобы элементы матрицы

1 Заполнение Операции над матрицами Пример: Сформировать матрицу A(N), так чтобы элементы
содержали четные элементы.

Цикл с неопределенными число итераций (не знаем сколько итерация понадобится);
Если введенное число (или random) четное – заносим в массив, иначе игнорируем
Вывод содержимого массива.

Слайд 3

1 Заполнение

Операции над матрицами

const N=10;
var
i, j, v : integer;
a : array

1 Заполнение Операции над матрицами const N=10; var i, j, v :
[1..N] of integer;
begin
i := 1;
j := 0;
while i <= N do
begin
inc(j);
v := random(0,100);
if v mod 2=0 then
begin
a[i] := v;
inc(i);
end;
end;
writeln('Число итераций: ',j) ;
for i := 1 to N do write('a[',i,']=',a[i],'; ');
end.

Слайд 4

1 Заполнение

Операции над матрицами

Число итераций: 20
a[1]=80; a[2]=46; a[3]=62; a[4]=32; a[5]=94; a[6]=38;

1 Заполнение Операции над матрицами Число итераций: 20 a[1]=80; a[2]=46; a[3]=62; a[4]=32;
a[7]=0; a[8]=34; a[9]=82; a[10]=84;

Слайд 5

Операции над матрицами

Заполнение;
Функция random;
Аффинные преобразования.

Операции над матрицами Заполнение; Функция random; Аффинные преобразования.

Слайд 6

2 Функция random

Операции над матрицами

Пример: Какую частоту имеет каждое число, которое

2 Функция random Операции над матрицами Пример: Какую частоту имеет каждое число,
возвращает функция random.

Диапазон функции random равен диапазону индексов массива
Многократно вызвать функцию random и заполнить нужной элемент массива

const
N = 10; cnt = 100;
var
i,v : integer;
a : array [1..N] of integer;
begin
for i := 1 to cnt do
begin
v := random(1,N);
a[v] := a[v]+1;
end;
for i := 1 to N do
writeln('a[',i,']=',a[i],'(',a[i]/cnt*100,'); ');
end.

Слайд 7

2 Функция random

Операции над матрицами

Выборка 10
a[1]=2(20);
a[2]=1(10);
a[3]=0(0);
a[4]=1(10);
a[5]=1(10);
a[6]=3(30);

2 Функция random Операции над матрицами Выборка 10 a[1]=2(20); a[2]=1(10); a[3]=0(0); a[4]=1(10);

a[7]=1(10);
a[8]=0(0);
a[9]=0(0);
a[10]=1(10);

Выборка 100
a[1]=10(10);
a[2]=7(7);
a[3]=10(10);
a[4]=13(13);
a[5]=8(8);
a[6]=11(11);
a[7]=9(9);
a[8]=14(14);
a[9]=8(8);
a[10]=10(10);

Выборка 1000
a[1]=98(9.8);
a[2]=89(8.9);
a[3]=93(9.3);
a[4]=113(11.3);
a[5]=102(10.2);
a[6]=97(9.7);
a[7]=112(11.2);
a[8]=93(9.3);
a[9]=98(9.8);
a[10]=105(10.5);

Выборка 10000
a[1]=992(9.92);
a[2]=1031(10.31);
a[3]=952(9.52);
a[4]=1007(10.07);
a[5]=964(9.64);
a[6]=979(9.79);
a[7]=991(9.91);
a[8]=1027(10.27);
a[9]=1032(10.32);
a[10]=1025(10.25);

Выборка 100000
a[1]=9956(9.956);
a[2]=10021(10.021);
a[3]=10151(10.151);
a[4]=9896(9.896);
a[5]=10050(10.05);
a[6]=9879(9.879);
a[7]=9715(9.715);
a[8]=10179(10.179);
a[9]=10007(10.007);
a[10]=10146(10.146);

Выборка 1000000
a[1]=100034(10.0034);
a[2]=100104(10.0104);
a[3]=99946(9.9946);
a[4]=100097(10.0097);
a[5]=99821(9.9821);
a[6]=99856(9.9856);
a[7]=99945(9.9945);
a[8]=100127(10.0127);
a[9]=100066(10.0066);
a[10]=100004(10.0004);

Слайд 8

Операции над матрицами

Заполнение;
Функция random;
Аффинные преобразования.

Операции над матрицами Заполнение; Функция random; Аффинные преобразования.

Слайд 9

3 Аффинные преобразования

Операции над матрицами

Сдвиг

Масштабирование

Поворот относительно (x0,y0))

3 Аффинные преобразования Операции над матрицами Сдвиг Масштабирование Поворот относительно (x0,y0))

Слайд 10

3 Аффинные преобразования

Операции над матрицами

Пример: Повернуть матрицу на угол 90n (n=..,-2,-1,0,1,2,..)

90

3 Аффинные преобразования Операции над матрицами Пример: Повернуть матрицу на угол 90n (n=..,-2,-1,0,1,2,..) 90

Слайд 11

3 Аффинные преобразования

Операции над матрицами

var
x,y,x1,y1 : integer;
a,b : array [1..3,1..3] of

3 Аффинные преобразования Операции над матрицами var x,y,x1,y1 : integer; a,b :
integer;
alpha : integer;
begin
a[1,1] := 1; a[1,2] := 2; a[1,3] := 3;
a[2,1] := 4; a[2,2] := 5; a[2,3] := 6;
a[3,1] := 7; a[3,2] := 8; a[3,3] := 9;
write('Кратность поворота: ');
readln(alpha);
for x := 1 to 3 do
begin
for y := 1 to 3 do write(a[x,y],' ');
writeln;
end;