Wyklad WektoryMacierze 04 11 08


Wyklad_WektoryMacierze_04-11-08.nb 1
Zadanie 1. Zdefiniować pure function,
która w macierzy dowolnego wymiaru sprawdza czy podany element występuje
w rozpatrywanej macierzy, jeśli tak to ile razy i na jakiej pozycji.
fun = Function@8n, liczba<,
pom = Table@Random@Integer, 81, 10Print@pomD;
A = Partition@pom, nD;
Print@MatrixForm@ADD;
If@MemberQ@Flatten@AD, liczbaD,
il = Count@Flatten@AD, liczbaD;
poz = Position@A, liczbaD; Print@"Element ", liczba,
" występuje w macierzy ", il, " razy na pozycjach: ", pozDD
D;
fun@4, 2D
82, 10, 10, 9, 2, 4, 5, 1, 7, 2, 5, 6, 4, 3, 10, 10<
Wyklad_WektoryMacierze_04-11-08.nb 2
2 10 10 9y
i
j z
j
j z
2 4 5 1z
j z
j z
j
j z
7 2 5 6z
j z
j z
j z
4 3 10 10
k {
Element 2 występuje w macierzy 3
razy na pozycjach: 881, 1<, 82, 1<, 83, 2<<
Wyklad_WektoryMacierze_04-11-08.nb 1
Zadanie 2. Zdefiniować "pure function",
która w macierzy kwadratowej dowolnego
wymiaru zamieni ze sobą dwie kolumny lub dwa wiersze,
dane wejściowe : wymiar macierzy, numery kolumn HwierszyL do zamiany,
zmienna określająca wybór kolumn lub wierszy. Np. dla macierzy
20 17 20 20 20 20 17 20
i y i y
j z j z
j z j z
j z j z
11 14 9 0 11 9 14 0
j z j z.
j z j z
przy wyborze kolumn dostaniemy
j z j z
j z j z
20 7 18 3 20 18 7 3
j z j z
j z j z
j z j z
4 4 16 12 4 16 4 12
k { k {
Wyklad_WektoryMacierze_04-11-08.nb 2
In[57]:= fun = Function@8n, s, k, l<,
Print@"Wymiar macierzy: ", nD;
Print@"Opcja decydująca o wyborze kolumn lub
wierszy Hs=0 - kolumny, s=1 - wierszeL: s=", sD;
Print@"Numery kolumn HwierszyL do zamiany: ", k, ",", lD;
lista = Table@Random@Integer, 80, 20A = Partition@lista, nD;
B = Partition@lista, nD;
Print@MatrixForm@ADD;
Print@"wiersz ", A@@1DDD;
Print@"kolumna ", A@@All, 1DDD;
If@s 1, A@@kDD = A@@lDD; A@@lDD = B@@kDD,
If@s 0, A@@All, kDD = A@@All, lDD; A@@All, lDD = B@@All, kDDDDD;
fun@4, 0, 2, 3D;
MatrixForm@AD
Wymiar macierzy: 4
Opcja decydująca o wyborze kolumn
lub wierszy Hs=0 - kolumny, s=1 - wierszeL: s=0
Wyklad_WektoryMacierze_04-11-08.nb 3
Numery kolumn HwierszyL do zamiany: 2,3
13 4 13 5
i y
j z
j z
j z
0 19 11 13
j z
j z
j z
j z
13 20 15 12
j z
j z
j z
20 18 13 11
k {
wiersz 813, 4, 13, 5<
kolumna 813, 0, 13, 20<
Out[59]//MatrixForm=
13 13 4 5y
i
j z
j z
j z
0 11 19 13
j z
j z
j z
j z
13 15 20 12
j z
j z
j z
20 13 18 11
k {
Wyklad_WektoryMacierze_04-11-08.nb 1
Zadanie 3. W danej macierzy dowolnego wymiaru każdy element stojący
na przekątnej głównej zamienić na podany element, np dla macierzy
1 3 4 7 100 3 4 7
i y i y
j z j z
j z j z
j z j z
56 7 8 9 56 100 8 9
j z j z.
j z j z
i elementu 100 otrzymamy
j z j z
j z j z
8 9 0 67 8 9 100 67
j z j z
j z j z
j z j z
7 8 9 0 7 8 9 100
k { k {
1. sposób
In[1]:= n = Random@Integer, 81, 10A = Table@Random@Integer, 81, 10A ęę MatrixForm
Out[3]//MatrixForm=
5 1 2 3
i y
j z
j z
j z
8 6 1 1
j z
j z
j z
j z
2 5 10 7
j z
j z
j z
1 6 4 5
k {
Wyklad_WektoryMacierze_04-11-08.nb 2
In[4]:= k = 100;
sl = Tr@A, ListD
d = DiagonalMatrix@slD;
MatrixForm@dD
Out[5]= 85, 6, 10, 5<
Out[7]//MatrixForm=
5 0 0 0
i y
j z
j z
j z
0 6 0 0
j z
j z
j z
j z
0 0 10 0
j z
j z
j z
0 0 0 5
k {
In[8]:= nowa = A - d;
MatrixForm@nowaD
Out[9]//MatrixForm=
0 1 2 3
i y
j z
j z
j z
8 0 1 1
j z
j z
j z
j z
2 5 0 7
j z
j z
j z
1 6 4 0
k {
Wyklad_WektoryMacierze_04-11-08.nb 3
In[10]:= lista = Table@k, 8i, 1, Length@ADPrint@listaD;
nowa + DiagonalMatrix@listaDęęMatrixForm
8100, 100, 100, 100<
Out[12]//MatrixForm=
100 1 2 3
i y
j z
j z
j z
8 100 1 1
j z
j z
j z
j z
2 5 100 7
j z
j z
j z
1 6 4 100
k {
Wyklad_WektoryMacierze_04-11-08.nb 1
2. sposób
In[39]:= m = Flatten@AD
poz = Table@8i<, 8i, 1, Length@mD, n + 1m1 = ReplacePart@m, k, pozD
MatrixForm@Partition@m1, nDD
Out[39]= 85, 1, 2, 3, 8, 6, 1, 1, 2, 5, 10, 7, 1, 6, 4, 5<
Out[40]= 881<, 86<, 811<, 816<<
Out[41]= 8100, 1, 2, 3, 8, 100, 1, 1, 2, 5, 100, 7, 1, 6, 4, 100<
Out[42]//MatrixForm=
100 1 2 3
i y
j z
j z
j z
8 100 1 1
j z
j z
j z
j z
2 5 100 7
j z
j z
j z
1 6 4 100
k {
Wyklad_WektoryMacierze_04-11-08.nb 1
Zadanie 4. Nie wykorzystując pakietu
<< LinearAlgebra`MatrixManipulations` napisać procedurę,
która dla macierzy kwadratowej A dowolnego wymiaru Hn, nL
Hpodanego przez sprawdzającegoL utworzy nową macierz blokową B,
której elementami będą podmacierze Hn - 1, n - 1L macierzy A. Następnie
wykorzystując macierz B utowrzyć nową o wymiarze H2, 2L,
której elementami będą wyznaczniki podmacierzy macierzy
19 2 1 7
i y
j z
j z
j z
1 9 6 7
j z
j z
A. Np. dla macierzy A = macierz B =
j z
j z
3 11 16 13
j z
j z
j z
16 1 4 6
k {
19 2 1 2 1 7
i i y i y y
j j z j z z
j j z j z z
j j z j z z
1 9 6 9 6 7
j j z j z z
j j z j z z
j z j z
j z
j z
3 11 16 11 16 13
z 1470 438
j {
k { k
j z
j z
i ostatecznie dostaniemy J N.
j
j z
1 9 6 9 6 7z 1186 274
j z
i y i y
j z
j z j z
j z
j z j z
j z
j z j z
3 11 16 11 16 13
j z
j z j z
j z
j z j z
j z j z
j z
16 1 4 1 4 6
k { k {
k {
Wyklad_WektoryMacierze_04-11-08.nb 2
In[1]:= n = 4;
lista = Table@Random@Integer, 80, 20A = Partition@lista, nD;
MatrixForm@AD
B = 88Table@A@@i, jDD, 8i, 1, n - 1<, 8j, 1, n - 1Table@A@@i, jDD, 8i, 1, n - 1<, 8j, 2, n8Table@A@@i, jDD, 8i, 2, n<, 8j, 1, n - 1Table@A@@i, jDD, 8i, 2, n<, 8j, 2, nMatrixForm@BD
U = Table@Det@B@@i, jDDD,
8i, 1, Length@BD<, 8j, 1, Length@BDOut[4]//MatrixForm=
2 15 12 14
i y
j z
j z
j z
8 6 6 5
j z
j z
j z
j z
11 0 12 4
j z
j z
j z
15 15 8 9
k {
Wyklad_WektoryMacierze_04-11-08.nb 3
Out[6]//MatrixForm=
2 15 12 15 12 14
i i y i y y
j j z j z z
j j z j z z
j j z j z z
8 6 6 6 6 5
j j z j z z
j j z j z z
j z j z
j
j z
11 0 12 0 12 4z
j k { k { z
j z
j z
j
j z
8 6 6 6 6 5z
j z
i y i y
j z
j z j z
j
j z j z
j z
j z j z
11 0 12 0 12 4z
j z
j z j z
j z
j z j z
j z j z
j z
15 15 8 15 8 9
k { k {
k {
Out[7]//MatrixForm=
-1098 180
J N
102 -84
Wyklad_WektoryMacierze_04-11-08.nb 4
In[18]:= F = Table@Take@A, 8i, i + Hn - 2L<, 8j, j + Hn - 2L8i, 1, 2<, 8j, 1, 2U = Table@Det@B@@i, jDDD, 8i, 1, Length@BD<, 8j, 1, Length@BDMatrixForm
Out[18]//MatrixForm=
2 15 12 15 12 14
i i y i y y
j j z j z z
j j z j z z
j j z j z z
8 6 6 6 6 5
j j z j z z
j j z j z z
j z j z
j
j z
11 0 12 0 12 4z
j k { k { z
j z
j z
j
j z
8 6 6 6 6 5z
j z
i y i y
j z
j z j z
j
j z j z
j z
j z j z
11 0 12 0 12 4z
j z
j z j z
j z
j z j z
j z j z
j z
15 15 8 15 8 9
k { k {
k {
Out[19]//MatrixForm=
-1098 180
J N
102 -84
Wyklad_WektoryMacierze_04-11-08.nb 1
Zadanie 5. Z macierzy kwadratowej A o wymiarze 4 x4
utworzyć macierz kwadratową B o wymiarze 4 x4 w następujący
sposób : dzielimy macierz A na cztery podmacierze HblokiL 2 x2,
dwie górne podmacierze transponujemy, dwie dolne odwracamy,
2 5 3 10
i y
j z
j z
j z
11 0 10 20
j z,
j z
np. dla macierzy A =
j z
j z
4 2 2 20
j z
j z
j z
2 4 20 19
k {
211 5 0
i y
j z
j z
j z
310 10 20
j z
j z
j z
otrzymamy macierz : B =
j z
1 1 1 1
j z
- -
j z
3 6 6 3
j z
j z
j z
j z
19 10 10 1
- -
k {
362 181 181 181
Wyklad_WektoryMacierze_04-11-08.nb 2
A = Table@Random@Integer, 80, 20MatrixForm@AD
b = Table@Take@A, 8i, i + 1<, 8j, j + 1MatrixForm@bD
c = 8Table@Transpose@b@@1, iDDD, 8i, 1, Length@bDTable@Inverse@b@@2, iDDD, 8i, 1, Length@bDMatrixForm@cD
d = Flatten@cD
d1 = Table@Take@d, 8i, i + 1d2 = Table@Take@d, 8i, i + 1ost = 8Take@d1, 81, 2Take@d2, 81, 2Table@8Take@d1, 8i, i + 1Partition@Flatten@ostD, 4DęęMatrixForm
10 11 6 9y
i
j z
j z
j z
18 10 19 15
j z
j z
j z
j z
6 0 15 12
j z
j z
j z
16 10 9 7
k {
Wyklad_WektoryMacierze_04-11-08.nb 3
10 11 6 9
i y
j J N J N z
j z
j z
18 10 19 15
j z
j z
j z
j z
j 6 0 15 12 z
j z
j z
j z
J N J N
16 10 9 7{
k
10 18 6 19
i y
j J NJ N z
j z
j z
11 10 9 15
j z
j z
j z
j z
1
j 7 z
0
j i y z
- 4
6 i y
j j z z
3
j z
j j z z
j z
j j z z
j j z z
4 1
- 3 -5
k {
k k 15 10 { {
1 4 1 7
910, 18, 11, 10, 6, 19, 9, 15, , 0, - , , - , 4, 3, -5=
6 15 10 3
1 7
9810, 18<, 86, 19<, 9 , 0=, 9- , 4==
6 3
4 1
9811, 10<, 89, 15<, 9- , =, 83, -5<=
15 10
98810, 18<, 86, 19<<, 8811, 10<, 89, 15<<,
1 7 4 1
99 , 0=, 9- , 4==, 99- , =, 83, -5<==
6 3 15 10
Wyklad_WektoryMacierze_04-11-08.nb 4
988810, 18<, 86, 19<<, 8811, 10<, 89, 15<<<,
1 7 4 1
999 , 0=, 9- , 4==, 99- , =, 83, -5<===
6 3 15 10
10 18 6 19
i y
j z
j z
j z
11 10 9 15
j z
j z
j z
j z
1 7
j z
0 - 4
j z
6 3
j z
j z
j z
j z
4 1
- 3 -5
k {
15 10
Wyklad_WektoryMacierze_04-11-08.nb 1
Zadanie 6. Zdefiniować "pure function",
która dla macierzy kwadratowej dowolnego wymiaru k
i wylosowanej liczby s z zakresu H2, k - 1L zastąpi wiersz
stojący na pozycji s na wiersz utworzony w następujący sposób :
elementy wiersza nowej macierzy są iloczynami elementów stojących
w s - 1 i s + 1 wierszu, np. dla macierzy A =
6 3 6 0y 6 3 6 0
i i y
j z j z
j j z
j z j z
6 6 7 6z 42 6 18 0
j z z.
j z j z
dostaniemy macierz j
j z j z
j z j z
7 2 3 10 7 2 3 10
j z j z
j z j z
j z j z
1 1 9 2 1 1 9 2
k { k {
Wyklad_WektoryMacierze_04-11-08.nb 2
In[23]:= k = Random@Integer, 83, 10s = Random@Integer, 82, k - 1Function@8w, q<,
A = Table@Random@Integer, 80, 10Print@A ęę MatrixFormD;
Print@"Zamień wiersz ", w, " o postaci: ", Part@A, wDD;
ReplacePart@A, Part@A, w - 1D " Part@A, w + 1D, wDęę MatrixFormD@s, kD
6 3 6 0
i y
j z
j
j z
6 6 7 6z
j z
j z
j z
j z
7 2 3 10
j z
j z
j z
1 1 9 2
k {
Zamień wiersz 2 o postaci: 86, 6, 7, 6<
Out[25]//MatrixForm=
6 3 6 0
i y
j z
j z
j z
42 6 18 0
j z
j z
j z
j z
7 2 3 10
j z
j z
j z
1 1 9 2
k {


Wyszukiwarka

Podobne podstrony:
Wyklad WektoryMacierze 11 08
Wyklad AnalizaMat 11 08
2010 11 08 WIL Wyklad 08id 175
wyklad 7 zap i, 11 2013
Wyklad ElementyProg 12 08
socjo wykład z 26 11
5 Analiza systemowa wykłady PDF 11 z numeracją
TI 00 11 08 T B M pl(1)
wyklad 8 zap i, 11 2013
Techniki negocjacji i mediacji w administracji wykłady 05 11 2013
Wyklad LiczbyZmienne 10 08
11 08
Wyklad OperacjeNaListach 10 08
Analiza Wykład 8 (25 11 10)
KPC Wykład (7) 13 11 2012

więcej podobnych podstron