Ins tytut K ons trukc ji B udow la nyc h
Informatyka S tosowana
Z a k ła d K om puterow eg o W s pom a g a nia P rojek tow a nia
S emestr 1.
30 październik 2008
Podstawowe operacje na macierzach, operacje we/wy
S la jd 1
Podstawowe operacje na macierzach,
operacje we/wy
Ins tytut K ons trukc ji B udow la nyc h
Informatyka S tosowana
Z a k ła d K om puterow eg o W s pom a g a nia P rojek tow a nia
S emestr 1.
30 październik 2008
Podstawowe operacje na macierzach, operacje we/wy
S la jd 2
Plan zajęć
Operacje na macierzach
●
Definicja tablic
●
Indeksowanie tablic
●
Modyfikacja tablic
●
Określanie rozmiaru tablicy
●
Działania na macierzach
●
Funkcje operujące na macierzach
Operacje wejścia/wyjścia
●
Plik dziennika
●
Zapisywanie i wczytywanie zmiennych
●
Zapisywanie do pliku tekstowego
●
Zapisywanie formatowane do pliku tekstowego
Ins tytut K ons trukc ji B udow la nyc h
Informatyka S tosowana
Z a k ła d K om puterow eg o W s pom a g a nia P rojek tow a nia
S emestr 1.
30 październik 2008
Podstawowe operacje na macierzach, operacje we/wy
S la jd 3
Operacje na macierzach
Ins tytut K ons trukc ji B udow la nyc h
Informatyka S tosowana
Z a k ła d K om puterow eg o W s pom a g a nia P rojek tow a nia
S emestr 1.
30 październik 2008
Podstawowe operacje na macierzach, operacje we/wy
S la jd 4
Operacje na macierzach
Definicja tablic
Ćwiczenie 1
Zdefiniuje macierz o wymiarach 6 na 6 całkowitych liczb losowych.
Uwaga! - Skorzystaj z funkcji int().
Ins tytut K ons trukc ji B udow la nyc h
Informatyka S tosowana
Z a k ła d K om puterow eg o W s pom a g a nia P rojek tow a nia
S emestr 1.
30 październik 2008
Podstawowe operacje na macierzach, operacje we/wy
S la jd 5
Polecenia
Ćwiczenie 1
D = int(100*rand(6,6))
D =
! 28. 15. 11. 50. 37. 53. !
! 12. 69. 19. 34. 73. 11. !
! 77. 84. 56. 38. 26. 22. !
! 21. 40. 58. 92. 49. 62. !
! 11. 40. 68. 94. 26. 76. !
! 68. 87. 89. 34. 52. 4. !
Ins tytut K ons trukc ji B udow la nyc h
Informatyka S tosowana
Z a k ła d K om puterow eg o W s pom a g a nia P rojek tow a nia
S emestr 1.
30 październik 2008
Podstawowe operacje na macierzach, operacje we/wy
S la jd 6
Operacje na macierzach
Definicja tablic
Ćwiczenie 2
Zdefiniuj tablice jednowymiarową o 5 elementach, której elementy będą kolejnymi liczb
naturalnymi.
Utwórz tablicę 2x2 z liczbami: , e,
-
oraz 8
Utwórz tablice z dwoma elementami, zawierającymi twoje imię i nazwisko.
−
1
Ins tytut K ons trukc ji B udow la nyc h
Informatyka S tosowana
Z a k ła d K om puterow eg o W s pom a g a nia P rojek tow a nia
S emestr 1.
30 październik 2008
Podstawowe operacje na macierzach, operacje we/wy
S la jd 7
Polecenia
Ćwiczenie 2
G = [1:1:5]
G =
! 1. 2. 3. 4. 5. !
H = [%pi %e; %i -%inf]
K =
! 3.1415927 2.7182818 !
! i -Inf !
K = ['Imie', 'Nazwisko']
K =
! 'Imie' 'Nazwisko' !
Ins tytut K ons trukc ji B udow la nyc h
Informatyka S tosowana
Z a k ła d K om puterow eg o W s pom a g a nia P rojek tow a nia
S emestr 1.
30 październik 2008
Podstawowe operacje na macierzach, operacje we/wy
S la jd 8
Operacje na macierzach
Modyfikacje tablic
Ćwiczenie 3
Utwórz tablicę o wymiarach 10x10, której wszystkie elementy to jedynki a pierwsze i ostatni
wiersz i kolumna to zera.
Uwaga! - Nie wpisuj jawnie wszystkich 100 elementów tej tablicy. Posłuż się
funkcjami zeros() i ones().
Ins tytut K ons trukc ji B udow la nyc h
Informatyka S tosowana
Z a k ła d K om puterow eg o W s pom a g a nia P rojek tow a nia
S emestr 1.
30 październik 2008
Podstawowe operacje na macierzach, operacje we/wy
S la jd 9
Polecenia
Ćwiczenie 3
X = zeros(10,10);
X(2:1:$-1,2:1:$-1) = ones(8,8)
X =
! 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. !
! 0. 1. 1. 1. 1. 1. 1. 1. 1. 0. !
! 0. 1. 1. 1. 1. 1. 1. 1. 1. 0. !
! 0. 1. 1. 1. 1. 1. 1. 1. 1. 0. !
! 0. 1. 1. 1. 1. 1. 1. 1. 1. 0. !
! 0. 1. 1. 1. 1. 1. 1. 1. 1. 0. !
! 0. 1. 1. 1. 1. 1. 1. 1. 1. 0. !
! 0. 1. 1. 1. 1. 1. 1. 1. 1. 0. !
! 0. 1. 1. 1. 1. 1. 1. 1. 1. 0. !
! 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. !
Ins tytut K ons trukc ji B udow la nyc h
Informatyka S tosowana
Z a k ła d K om puterow eg o W s pom a g a nia P rojek tow a nia
S emestr 1.
30 październik 2008
Podstawowe operacje na macierzach, operacje we/wy
S la jd 1 0
Operacje na macierzach
Działania na macierzach
Ćwiczenie 4
Utwórz dwie macierze:
Wykonaj na nich operacje następujące operacje:
przemnóż macierz A przez liczbę i przypisz do zmiennej C
spierwiastkuj elementy B macierzy i zapisz jako macierz D
przemnóż macierz A przez macierz jednostkową o wymiarach 2x2
przemnóż macierz C i D
Przemnóż macierz B przez transponowaną A i zapisz jako E
Podziel lewostronnie macierz macierz E przez transpozycje A
A=
∣
3
6
−
2 4
1
7
∣
B=
∣
9
−
4
−
3
5
∣
Ins tytut K ons trukc ji B udow la nyc h
Informatyka S tosowana
Z a k ła d K om puterow eg o W s pom a g a nia P rojek tow a nia
S emestr 1.
30 październik 2008
Podstawowe operacje na macierzach, operacje we/wy
S la jd 1 1
Operacje na macierzach
Działania na macierzach
Ćwiczenie 4
A = [3 6; -2 4; 1 7]; B = [9 -4; -3 5];
C = A*%pi
C =
! 9.424778 18.849556 !
! - 6.2831853 12.566371 !
! 3.1415927 21.991149 !
D = B .^ 0.5
D =
! 3. 1.225E-16 + 2.i !
! 1.061E-16 + 1.7320508i 2.236068 !
Ins tytut K ons trukc ji B udow la nyc h
Informatyka S tosowana
Z a k ła d K om puterow eg o W s pom a g a nia P rojek tow a nia
S emestr 1.
30 październik 2008
Podstawowe operacje na macierzach, operacje we/wy
S la jd 1 2
Operacje na macierzach
Działania na macierzach
Ćwiczenie 4
A * eye(2,2)
ans =
! 3. 6. !
! - 2. 4. !
! 1. 7. !
A = C * D
ans =
! 28.274334 + 32.648389i 42.148888 + 18.849556i !
! - 18.849556 + 21.765592i 28.099259 - 12.566371i !
! 9.424778 + 38.089787i 49.173703 + 6.2831853i !
Ins tytut K ons trukc ji B udow la nyc h
Informatyka S tosowana
Z a k ła d K om puterow eg o W s pom a g a nia P rojek tow a nia
S emestr 1.
30 październik 2008
Podstawowe operacje na macierzach, operacje we/wy
S la jd 1 3
Operacje na macierzach
Działania na macierzach
Ćwiczenie 4
E =B * A'
E =
! 3. - 34. - 19. !
! 21. 26. 32. !
E / A'
ans =
! 9. - 4. !
! - 3. 5. !
Ins tytut K ons trukc ji B udow la nyc h
Informatyka S tosowana
Z a k ła d K om puterow eg o W s pom a g a nia P rojek tow a nia
S emestr 1.
30 październik 2008
Podstawowe operacje na macierzach, operacje we/wy
S la jd 1 4
Operacje na macierzach
Funkcje operujące na macierzach
Ćwiczenie 5
Wykonaj następujące operacje na macierzach z Ćwiczenia 4:
oblicz wyznacznik z macierzy B
oblicz macierz odwrotną do macierzy A z Ćwiczenia 4
oblicz ślad macierzy C
Ins tytut K ons trukc ji B udow la nyc h
Informatyka S tosowana
Z a k ła d K om puterow eg o W s pom a g a nia P rojek tow a nia
S emestr 1.
30 październik 2008
Podstawowe operacje na macierzach, operacje we/wy
S la jd 1 5
Operacje na macierzach
Funkcje operujące na macierzach
Ćwiczenie 5
det(B)
ans =
33.
inv(A)
ans =
! 0.3125 0.0625 - 0.8125 !
! 0.125 - 0.375 - 0.125 !
! - 0.0625 0.1875 0.5625 !
trace(C)
ans =
9.424778
Ins tytut K ons trukc ji B udow la nyc h
Informatyka S tosowana
Z a k ła d K om puterow eg o W s pom a g a nia P rojek tow a nia
S emestr 1.
30 październik 2008
Podstawowe operacje na macierzach, operacje we/wy
S la jd 1 6
Operacje wejścia/wyjścia
Ins tytut K ons trukc ji B udow la nyc h
Informatyka S tosowana
Z a k ła d K om puterow eg o W s pom a g a nia P rojek tow a nia
S emestr 1.
30 październik 2008
Podstawowe operacje na macierzach, operacje we/wy
S la jd 1 7
Operacje wejścia/wyjścia
Plik dziennika
Ćwiczenie 6
Za pomocą rejestracji sesji i pliku dziennika utwórz plik zawierający funkcję tworzącą podaną
niżej tablicę:
1
2
3
9
10
1
1
2
3
9
10
2
2
4
6
18
20
3
3
6
9
27
30
⋮
⋮
⋮
⋮
⋱
⋮
⋮
9
9
18 27 81
90
10 10 20 30 90 100
Ins tytut K ons trukc ji B udow la nyc h
Informatyka S tosowana
Z a k ła d K om puterow eg o W s pom a g a nia P rojek tow a nia
S emestr 1.
30 październik 2008
Podstawowe operacje na macierzach, operacje we/wy
S la jd 1 8
Operacje wejścia/wyjścia
Plik dziennika
Ćwiczenie 6
diary('~/tabliczka_mnozenia.sci');
v = [1:10];
TM = v' * v;
diary(0)
--
function [TM]=tm()
v = [1:10];
TM = v' * v;
endfunction
Ins tytut K ons trukc ji B udow la nyc h
Informatyka S tosowana
Z a k ła d K om puterow eg o W s pom a g a nia P rojek tow a nia
S emestr 1.
30 październik 2008
Podstawowe operacje na macierzach, operacje we/wy
S la jd 1 9
Operacje wejścia/wyjścia
Zapisywanie i wczytywanie zmiennych
Ćwiczenie 7
Utwórz trzy dowolne zmienne: tekstową, liczbową i tablicową, zapisz do pliku. Usuń
zdefiniowane zmienne i następnie wczytaj je.
Ins tytut K ons trukc ji B udow la nyc h
Informatyka S tosowana
Z a k ła d K om puterow eg o W s pom a g a nia P rojek tow a nia
S emestr 1.
30 październik 2008
Podstawowe operacje na macierzach, operacje we/wy
S la jd 2 0
Operacje wejścia/wyjścia
Zapisywanie do pliku tekstowego
Ćwiczenie 8
Zapisz do pliku tekstowego trzy zmienne zdefiniowane w Ćwiczeniu 7.
Ins tytut K ons trukc ji B udow la nyc h
Informatyka S tosowana
Z a k ła d K om puterow eg o W s pom a g a nia P rojek tow a nia
S emestr 1.
30 październik 2008
Podstawowe operacje na macierzach, operacje we/wy
S la jd 2 1
Operacje wejścia/wyjścia
Zapisywanie formatowane do pliku tekstowego
Ćwiczenie 8
Zapisz do pliku tabliczka.txt tablice generowaną przez funkcję zdefiniowaną w Ćwiczeniu 6.
Sformatuj zapis tak aby poszczególne pola rozdzielały dwie spacje a każde pole liczyło 3 znaki.
Otwórz plik tabliczka.txt i wczytaj jego zawartość do zmiennej Tabliczka.
Ins tytut K ons trukc ji B udow la nyc h
Informatyka S tosowana
Z a k ła d K om puterow eg o W s pom a g a nia P rojek tow a nia
S emestr 1.
30 październik 2008
Podstawowe operacje na macierzach, operacje we/wy
S la jd 2 2
Operacje wejścia/wyjścia
Zapisywanie formatowane do pliku tekstowego
Ćwiczenie 8
u = file('open','~/tabliczka.txt','new');
write(u,tm(),'(2x,i3,2x,i3,2x,i3,2x,i3,2x,i3,2x,i3,2x,i3,2x,i3,2x,i3,2
x,i3)');
file('close',u);
--
$ cat tabliczka.txt
1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
[...]
10 20 30 40 50 60 70 80 90 100
--
u = file('open','~/tabliczka.txt','old');
Ins tytut K ons trukc ji B udow la nyc h
Informatyka S tosowana
Z a k ła d K om puterow eg o W s pom a g a nia P rojek tow a nia
S emestr 1.
30 październik 2008
Podstawowe operacje na macierzach, operacje we/wy
S la jd 2 3
Operacje wejścia/wyjścia
Zapisywanie formatowane do pliku tekstowego
Ćwiczenie 8
Tabliczka = read(u,-1,10)
Tabliczka =
! 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. !
! 2. 4. 6. 8. 10. 12. 14. 16. 18. 20. !
! 3. 6. 9. 12. 15. 18. 21. 24. 27. 30. !
! 4. 8. 12. 16. 20. 24. 28. 32. 36. 40. !
! 5. 10. 15. 20. 25. 30. 35. 40. 45. 50. !
! 6. 12. 18. 24. 30. 36. 42. 48. 54. 60. !
! 7. 14. 21. 28. 35. 42. 49. 56. 63. 70. !
! 8. 16. 24. 32. 40. 48. 56. 64. 72. 80. !
! 9. 18. 27. 36. 45. 54. 63. 72. 81. 90. !
! 10. 20. 30. 40. 50. 60. 70. 80. 90. 100. !
Ins tytut K ons trukc ji B udow la nyc h
Informatyka S tosowana
Z a k ła d K om puterow eg o W s pom a g a nia P rojek tow a nia
S emestr 1.
30 październik 2008
Podstawowe operacje na macierzach, operacje we/wy
S la jd 2 4
Literatura i materiały uzupełniające
Materiały podstawowe
SciLab Help, INRIA
(Menu Help->Help Browser)
Introduction to Scilab, INRIA
(
ftp://ftp.inria.fr/INRIA/Scilab/documentation/pdf/intro.pdf
)
Input/Output and file manipulation, Gilberto E. Urroz
(
http://www.engineering.usu.edu/cee/faculty/gurro/Software_Calculators/Scilab_Docs/Scilab_documents/
ScilabIO_new.pdf
)
SCILAB Input/Output functions - summary from SCILAB help facility, Gilberto E. Urroz
(
http://www.engineering.usu.edu/cee/faculty/gurro/Software_Calculators/Scilab_Docs/
SCILABIOcommands.pdf
)
Ins tytut K ons trukc ji B udow la nyc h
Informatyka S tosowana
Z a k ła d K om puterow eg o W s pom a g a nia P rojek tow a nia
S emestr 1.
30 październik 2008
Podstawowe operacje na macierzach, operacje we/wy
S la jd 2 5
Literatura i materiały uzupełniające
Materiały uzupełniające
SCILAB scripts, Basic scripts, SCILAB programming - Ch. 2 , Gilberto E. Urroz
(
http://www.engineering.usu.edu/cee/faculty/gurro/Software_Calculators/Scilab_Docs/
Scilab_scripts/Programming_Script.sce
)
SCILAB scripts, Numerical methods, Matrix and linear algebra - Ch. 5, Gilberto E. Urroz
(
http://www.engineering.usu.edu/cee/faculty/gurro/Software_Calculators/Scilab_Docs/
Scilab_scripts/Matrices_Script.sce
)