background image

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

background image

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

background image

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

background image

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().

background image

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.  !

background image

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

background image

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'  !

background image

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().

background image

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. !

background image

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

background image

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        !

background image

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 !

background image

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. !

background image

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

background image

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  

background image

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

background image

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

background image

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

background image

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.

background image

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.

background image

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.

background image

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');

background image

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. !

background image

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

)

background image

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

)


Document Outline