background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 1

Wprowadzenie do programowania w SciLab: 

typy danych, wyrażenia, operatory, 

funkcje własne, skrypty.

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 2

Plan zajęć

Wprowadzenie, stałe specjalne, podstawowe operatory i funkcje

Zmienne liczbowe, tablicowe, tekstowe, konwersja i przeliczanie wyrażeń tekstowych

Deklaracja wielomianów

Operatory logiczne

Deklaracja funkcji użytkownika

Skrypty

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 3

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 4

-->3 + 2.5

 ans  =
   5.5

-->10 + 6/2

 ans  = 

13.

   

Podstawowe operatory działań matematycznych

+ dodawanie

2 + 2

= 4

-

odejmowanie

4 – 1

= 3

*

mnożenie

3 * 2

= 6

/

dzielenie

6 / 2

= 3

^ potęgowanie

4 ^ 2

= 16

-->8*3 - 2^2

 ans  =
   20.

-->(10 + 6)/2

 ans  = 

8.

   

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 5

Stałe specjalne

%pi

liczba 

π

( 3.1415927...)

%e

liczba e

(2.7182818...)

%i
%inf

nieskończoność

%eps

wielkość „bardzo mała”  (dokładność maszyny liczącej)

%nan

wielkość nie będąca liczbą (NotANumber)

%t

stała logiczna = True (prawda)

%f

stała logiczna = False (fałsz)

1

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 6

Kilka podstawowych funkcji

abs()

wartość bezwzględna, moduł liczby

sqrt()

pierwiastek

sin(), cos()

sinus, cosinus

exp()

eksponent  

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 7

Kilka podstawowych funkcji

abs()

wartość bezwzględna, moduł liczby

sqrt()

pierwiastek

sin(), cos()

sinus, cosinus

exp()

eksponent  

Obliczyć wyrażenia:

ε

π

π

+

+

+

6

11

3

)

2

(

)

5

sin(

3

5

e

e

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 8

Kilka podstawowych funkcji

abs()

wartość bezwzględna, moduł liczby

sqrt()

pierwiastek

sin(), cos()

sinus, cosinus

exp()

eksponent  

Obliczyć wyrażenia:

ε

π

π

+

+

+

6

11

3

)

2

(

)

5

sin(

3

5

e

e

-->%inf+11

 ans  =
   Inf

-->6+%eps

 ans  =
    6.     

-->sin(%pi/5)

 ans  =
    0.5877853

-->sqrt(2+exp(5))

 ans  =
    12.264304

-->abs(%e-3*
%pi)^(1/3)

 ans  =
    1.8858127
    

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 9

Obliczyć wyrażenia:

)

1

1

(

sin

)

2

sin(

2

)

2

(

))

cos(

sin(

2

3

4

3

2

π

π

π

π

π

+

+

+

+

e

e

Ćwiczenie

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 10

Obliczyć wyrażenia:

)

1

1

(

sin

)

2

sin(

2

)

2

(

))

cos(

sin(

2

3

4

3

2

π

π

π

π

π

+

+

+

+

e

e

Ćwiczenie

-->sin(%pi-cos(exp(2)))

 ans  =

    0.4334848

    

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 11

Obliczyć wyrażenia:

)

1

1

(

sin

)

2

sin(

2

)

2

(

))

cos(

sin(

2

3

4

3

2

π

π

π

π

π

+

+

+

+

e

e

Ćwiczenie

-->sin(%pi-cos(exp(2)))

 ans  =

    0.4334848

-->sqrt(2+exp(3))/(2+sin(sqrt(2+%pi)))

 ans  =

    1.6984457

-->(%pi+%pi^4)^(1/3)/sin(1-1/%pi)^2

 ans  =

    11.71208    

     

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 12

w = [2,3,4]

podstawienie wektora (wierszowego)

v = [1;2;3]

podstawienie wektora (kolumnowego)

m = [1,2;3,4]

podstawienie macierzy ( 2 wiersze, 2 kolumny)

t = w(2)

podstawienie współrzędnej wektora

b = m(1,2)

podstawienie elementu macierzy

a = 2

podstawienie liczby rzeczywistej

5

pojedyncza wartość

tablica

3

1

2

2

Zmienne - instrukcja podstawienia:

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 13

wx = [1,3,5,7,9]

lub

wx = 1:2:9

lub  

wx = 1:2:10

1  

pierwsza współrzędna

krok,   wx(i) = wx(i-1) + krok

9

ostatnia współrzędna

wz = [1,2,3,4,5,6,7,8]

lub

 wz = 1:8

domyślny krok = 1

wt = [1;3;5;7;9]

lub

wt = wx'

transpozycja wektora

Zmienne - instrukcja podstawienia

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 14

→ A =[1,2,3,4,5,6; 8,8,8,8,8,8]

 A  =
!  1. 2. 3. 4. 5. 6.!
!  8. 8. 8. 8. 8. 8.!

-->A(1,3) 

 ans  = 
3.

pierwszy indeks dotyczy 
wiersza

-->A(1,3:6)

 ans  =
 ! 3. 4. 5. 6. !

-->B = A(1:2,2:3)

 B  =
 !  2. 3. !
 !  8. 8. !

Zmienne - instrukcja podstawienia

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 15

Zmienne - instrukcja podstawienia

→ A =[1,2,3,4,5,6; 8,8,8,8,8,8]

 A  =
!  1. 2. 3. 4. 5. 6.!
!  8. 8. 8. 8. 8. 8.!

-->B = matrix(A, 3, 4)

 B  =
!  1. 8. 4. 8. !
!  8. 3. 8. 6. !
!  2. 8. 5. 8. !

zmiana kształtu macierzy – elementy macierzy czytane kolumnami 

9

3

8

7

2

10

4

12

11

5

6

10

1

4

3

7

8

6

11

9

5

12

2

1

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 16

Zdeklaruj wektor  X = [-5

π

,-4

π

,...,5

π

,6

π

] 

Przepisz elementy wektora  do macierzy A (3 wiersze, 4 kolumny) 

wpisując wg kolumn

Zdeklaruj wektor  Y, tworząc go jako wektor kolumnowy z pierwszych 4 

współrzędnych wektora X

Ćwiczenie

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 17

Zdeklaruj wektor  X = [-5

π

,-4

π

,...,5

π

,6

π

] 

Przepisz elementy wektora  do macierzy A (3 wiersze, 4 kolumny) 

wpisując wg kolumn

Zdeklaruj wektor  Y, tworząc go jako wektor kolumnowy z pierwszych 4 

współrzędnych wektora X

→ 

X=-5*%pi:%pi:6*%pi

 X  =

! - 15.707963  - 12.566371 ...

!   ...       12.566371    15.707963    18.849556 !

-->A=matrix(X,3,4)

 A  =

! - 15.707963  - 6.2831853    3.1415927    12.566371 !

! - 12.566371  - 3.1415927    6.2831853    15.707963 !

! - 9.424778     0.           9.424778     18.849556 !

-->Y=X(1:4)'

 Y  =

! - 15.707963 !

! - 12.566371 !

! - 9.424778  !

! - 6.2831853 !

Ćwiczenie

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 18

Kilka funkcji  macierzowych

→ w = zeros(1:3)

podstawienie pod 

w

  wektora trzech zer

 w  =
!  0. 0. 0.!

→ x = ones(1:6)

podstawienie pod 

x

  wektora sześciu  jedynek

 x  =
!  1. 1. 1. 1. 1. 1.!

→ A = ones(3,4)

podstawienie pod 

A

  macierzy 3x4 złożonej z jedynek

 A  =
!  1. 1. 1. 1. !
!  1. 1. 1. 1. !
!  1. 1. 1. 1. !

→ A(1,1:3) = w

podstawienie pod pierwsze 3 elementy pierwszego 
wiersza macierzy 

A

   współrzędnych wektora  

x

 A  =
!  0. 0. 0. 1. !
!  1. 1. 1. 1. !
!  1. 1. 1. 1. !

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 19

Kilka funkcji  macierzowych

→ w = rand()

podstawienie pod 

w

  losowo wybranej liczby z [0,1)

 w  =

0.0002211

→ x = 10*rand(1:3)

podstawienie pod 

x

  wektora losowego liczb z [0,10)

 x  =
!  0.6837404    5.6084861    6.6235694 !

→ sin(x)

obliczenie wartości funkcji 

sin()

 dla wszystkich 

elementów tablicy  

x

 ans  =
!  0.6316970  - 0.6246625    0.3338491  !

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 20

-->help sin 

 

Pomoc – opis funkcji dostępnych w SciLab

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 21

x=2;y=3

T='x+2*y'

podstawienie ciągu znaków

evstr(T)

obliczenie wartości wyrażenia T

→ x = 2

 x  =

    2.

→ y = 3

 y  =

    3.

→ T ='x+2*y'

 T  =

 x+2*y

→ evstr(T)

 ans  =

    8.      

Zmienne tekstowe

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 22

p = poly([1,2,3],'x'); w = poly(0,'x')

podstawienie wielomianu o podanych pierwiastkach 

q = poly([1,2,3],'x','c')

podstawienie wielomianu o podanych współczynnikach

-->p = poly([1, 2, 3],'x')

 p  =           2   3
  - 6 + 11x - 6x + x

-->q = poly([1, 2, 3],'x','c')

 q  =          2
    1 + 2x + 3x   

Wielomiany

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 23

p = poly([1,2,3],'x'); w = poly(0,'x')

podstawienie wielomianu o podanych pierwiastkach 

q = poly([1,2,3],'x','c')

podstawienie wielomianu o podanych współczynnikach

-->p = poly([1, 2, 3],'x')

 p  =           2   3
  - 6 + 11x - 6x + x

-->q = poly([1, 2, 3],'x','c')

 q  =          2
    1 + 2x + 3x   

Wielomiany

roots(p)

obliczenie pierwiastków wielomianu 

p

-->roots(p)
 

ans  =

    1.  
    2.  
    3.

 

roots(q)= ?

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 24

Dla określonych wielomianów możliwe są: 

 dodawanie, mnożenie, dzielenie (tylko gdy mają tę samą zmienną)

oblicz  wyrażenia   p+q, p*q, p/q, wylicz pierwiastki 

dwóch pierwszych wielomianów

-

->p+q

 ans  =         2   3
  - 5 + 13x - 3x + x

-->p*q

 ans  =       2     3     4     5
  - 6 - x - 2x + 22x - 16x + 3x

    

-->p/q

 ans  =         2   3
  - 6 + 11x - 6x + x
    ----------------
                 2
      1 + 2x + 3x    

 

Wielomiany

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 25

2 == 2; [1 2 3]== [2 2 2]

porównanie wartości

 

~( 1 == 2 )

zaprzeczenie

[1 2 3]== 1

porównanie współczynników tablicy z podaną wartością

w | z

operator alternatywy (lub)

w & z

operator koniunkcji (i)

Operacje logiczne

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 26

Zdeklaruj wektory o 

współczynnikach stałych 

logicznych 

a=[ T  T  F  T ]

b=[ F  T  F  T].

Wyświetl

wektor przeciwny do a 

koniunkcję a i b

alternatywę a i b

koniunkcję a i wektora 
przeciwnego do b

Ćwiczenie 

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 27

Zdeklaruj wektory o 

współczynnikach stałych 

logicznych 

a=[ T  T  F  T ]

b=[ F  T  F  T].

Wyświetl

wektor przeciwny do a 

koniunkcję a i b

alternatywę a i b

koniunkcję a i wektora 
przeciwnego do b

-->a=[ %T %T %F %T ]

 a  =

! T T F T !

-->b=[%F %T %F %T]

 b  =

! F T F T !

-->~a

 ans  =

! F F T F !

Ćwiczenie 

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 28

Zdeklaruj wektory o 

współczynnikach stałych 

logicznych 

a=[ T  T  F  T ]

b=[ F  T  F  T].

Wyświetl

wektor przeciwny do a 

koniunkcję a i b

alternatywę a i b

koniunkcję a i wektora 
przeciwnego do b

-->a=[ %T %T %F %T ]

 a  =

! T T F T !

-->b=[%F %T %F %T]

 b  =

! F T F T !

-->~a

 ans  =

! F F T F !

-->a&b

 ans  =

! F T F T !

-->a|b

 ans  =
! T T F T !

-->a & ~b

 ans  =

! T F F F !   
   
 

 

Ćwiczenie 

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 29

Wykorzystanie wbudowanego edytora

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 30

Definiowane funkcje użytkownika

Funkcja - przyporządkowanie

x
y
z

Obliczenie wyniku

wynik

Definiujemy:

nagłówek funkcji 

nazwa funkcji, 

lista argumentów

oczekiwane wyniki

sposób obliczenia funkcji – algorytm wraz z instrukcją podstawienia

argumenty

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 31

funkcja obliczająca przekątną prostokąta

function [c] = przekatna(a,b)
  c = sqrt(a^2+b^2)
endfunction

  

Definiowane funkcje użytkownika

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 32

funkcja obliczająca przekątną prostokąta

function [c] = przekatna(a,b)
  c = sqrt(a^2+b^2)
endfunction

Load into Sclilab

przesłanie do interpretera 
całości skryptu

 

Evaluate selection

przesłanie do interpretera 
zaznaczonego fragmentu skryptu

 

-->
 

 function [c]=przekatna(a,b), c=sqrt(a^2+b^2), endfunction,

-->przekatna(3,4)
 

ans  =

    5.

        

Definiowane funkcje użytkownika

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 33

Zdefiniować w edytorze funkcję dokonującą zamiany 

współrzędnych biegunowych na kartezjańskie

Zapisać zawartość edytora do pliku   

~/biegun.sci

Obliczyć współrzędne kartezjańskie punktu odległego od środka 

układu współrzędnych o wielkość = 1, przy nachyleniu prostej 
łączącej punkt z początkiem układu współrzędnych pod kątem 60 
stopni

  

  

Przykład

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 34

Zdefiniować w edytorze funkcję dokonującą zamiany 

współrzędnych biegunowych na kartezjańskie

Zapisać zawartość edytora do pliku   

~/biegun.sci

Obliczyć współrzędne kartezjańskie punktu odległego od środka 

układu współrzędnych o wielkość = 1, przy nachyleniu prostej 
łączącej punkt z początkiem układu współrzędnych pod kątem 60 
stopni

  

  

Przykład

function [x,y]=biegun(r,fi)

  x=r*cos(fi); y=r*sin(fi);

endfunction

-->

[a,b]=biegun(1,%pi/3)

 b  =
    0.8660254
 a  =
    0.5       

 

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 35

Przy użyciu zdefiniowanych funkcji 

przekatna

 i 

biegun

 wykonać

Podstaw  

a=3, b=5

Oblicz przekątną  

pr

 prostokątu o 

bokach 

a,b

Znajdź współrzędne kartezjańskie 

punktu określonego współrzędnymi 
biegunowymi :

Promień jest równy przekątnej 
prostokąta o bokach 

a,b

   

Kąt 

fi

 jest równy kątowi nachylenia 

przekątnej prostokąta o bokach 

a,b

 

do boku 

a

  (skorzystaj z funkcji 

acos()

 

lub 

asin()

 )

Ćwiczenie 

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 36

Przy użyciu zdefiniowanych funkcji 

przekatna

 i 

biegun

 wykonać

Podstaw  

a=3, b=5

Oblicz przekątną  

pr

 prostokątu o 

bokach 

a,b

Znajdź współrzędne kartezjańskie 

punktu określonego współrzędnymi 
biegunowymi :

Promień jest równy przekątnej 
prostokąta o bokach 

a,b

   

Kąt 

fi

 jest równy kątowi nachylenia 

przekątnej prostokąta o bokach 

a,b

 

do boku 

a

  (skorzystaj z funkcji 

acos()

 

lub 

asin()

 )

Ćwiczenie 

-

->a=3; b=5

 b  =
    5.

-->pr=przekatna(a,b)

 pr  =
    5.8309519

-->fi=acos(a/pr)

 fi  =
    1.0303768

-->[x,y]=biegun(pr,fi)

 y  =
    5.
 x  =
    3.

  

   

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 37

 

funkcja dokonuje zamiany współrzędnych biegunowych na 

kartezjańskie

użycie polecenia deff()

deff('[x,y]=biegun(r,fi)','x=r*cos(fi);y=r*sin(fi)')

użycie zapisu

 

function ... endfunction 

function [x,y]=biegun(r,fi)
   x=r*cos(fi); y=r*sin(fi);
endfunction

Definiowane funkcje użytkownika

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 38

Określić funkcję 

sfera

 (przy użyciu polecenia 

deff

), dokonującą 

zamiany współrzędnych sferycznych na kartezjańskie wg wzorów:

x = r * cos(fi) * sin(psi)
y = r * sin(fi) * sin(psi)
z = r * cos(psi)

Wylicz współrzędne kartezjańskie dla punktu podanego we 

współrzędnych sferycznych  (1, 

π/3, π/4 

)

Ćwiczenie 

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 39

Określić funkcję 

sfera

 (przy użyciu polecenia 

deff

), dokonującą 

zamiany współrzędnych sferycznych na kartezjańskie wg wzorów:

x = r * cos(fi) * sin(psi)
y = r * sin(fi) * sin(psi)
z = r * cos(psi)

Wylicz współrzędne kartezjańskie dla punktu podanego we 

współrzędnych sferycznych  (1, 

π/3, π/4 

)

Ćwiczenie 

-

->deff('[x,y,z]=sfera(r,fi,psi)','x = r*cos(fi)*sin(psi);...

 y = r*sin(fi)*sin(psi); z = r*cos(psi)')

                 

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 40

Określić funkcję 

sfera

 (przy użyciu polecenia 

deff

), dokonującą 

zamiany współrzędnych sferycznych na kartezjańskie wg wzorów:

x = r * cos(fi) * sin(psi)
y = r * sin(fi) * sin(psi)
z = r * cos(psi)

Wylicz współrzędne kartezjańskie dla punktu podanego we 

współrzędnych sferycznych  (1, 

π/3, π/4 

)

Ćwiczenie 

-

->deff('[x,y,z]=sfera(r,fi,psi)','x = r*cos(fi)*sin(psi);...

 y = r*sin(fi)*sin(psi); z = r*cos(psi)')

                 

-->[x,y,z]=sfera(1,%pi/3,%pi/4)

 z  =
    0.7071068
 y  =
    0.6123724
 x  =
    0.3535534

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 41

Deklaracja funkcji – oddzielne pliki (rozszerzenie *.sci )

Wczytanie funkcji do SciLaba

Po ponownym uruchomieniu SciLaba, sprawdzić czy można 

skorzystać z funkcji 

biegun()   

-->exists('biegun')
 ans  =
    0.  

Wyświetlić na ekranie zawartość pliku 

/pub/programy/biegun.sci

Wczytać definicję funkcji poleceniem Getf (menu File)

Ponownie sprawdzić czy można skorzystać z funkcji 

biegun()

Przeliczyć współrzędne biegunowe (2, 

π/3

) na współrzędne 

kartezjańskie   

Definiowane funkcje – wykorzystanie bibliotek 

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 42

Definiowane funkcje – wykorzystanie bibliotek 

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 43

Definiowane funkcje – wykorzystanie bibliotek 

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 44

Wyświetlić na ekranie zawartość pliku 

lab_scilab_1.dem

 

znajdującego się w katalogu 

/pub/programy 

Wczytać skrypt 

lab_scilab_1.dem

 

(z menu FILE wybrać pozycję FILE OPERATIONS,  wskazać plik, wybrać EXEC i 

kliknąć Ok)

Wykonać kolejne, zapisane polecenia naciskając klawisz [ENTER]

Skrypty

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 45

Funkcja 

mode(k)

stosowana międzu innymi w plikach typu 'exec', decyduje w zależności od wartości 

parametru k o sposobie wyswietlania informacji podczas wykonywania skryptów

k = 1 : (wartość domyslna) polecenia pliku 'exec' wykonywane są w sposób nie 
interaktywny (ciągły), pokazując wyniki na ekranie

k = -1 : polecenia pliku 'exec' wykonywane są w sposób ciągły, nie pokazując 
wyników wykonania na ekranie

k = 7 : wykonywanie skryptu w sposób interaktywny, każda instrukcja wymaga 
potwierdzenia (klawiszem ENTER)

Skrypty (exec file)

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 46

Przy użyciu dowolnego, dostępnego edytora utwórz skrypt 

moje_funkcje.sci

 (zapisując go w katalogu domowym) i zdefiniuj w 

nim następujące funkcje:

kula(r)

 - wynikiem wektor 

[s, v]

, gdzie 

s

 jest powierzchnią kuli o 

promieniu 

r

v

 jej objętością. 

Przetestuj działanie skryptu obliczając: kula(2)

Ćwiczenie

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 47

Przy użyciu dowolnego, dostępnego edytora utwórz skrypt 

moje_funkcje.sci

 (zapisując go w katalogu domowym) i zdefiniuj w 

nim następujące funkcje:

kula(r)

 - wynikiem wektor 

[s, v]

, gdzie 

s

 jest powierzchnią kuli o 

promieniu 

r

v

 jej objętością. 

Przetestuj działanie skryptu obliczając: kula(2)

function [s,v]=kula(r)

s=4*%pi*r^2; v=4/3*%pi*r^3;

endfunction

 

 

[s,v]=kula(2)
 v  =
    33.510322
 s  =
    50.265482

Ćwiczenie

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 48

W skrypcie 

moje_funkcje.sci

  i zdefiniować  funkcje  

jedynki(n,m),

wynikiem działania funkcji ma być macierz A

n x m 

wypełniona jedynkami

Przetestuj działanie skryptu obliczając:  jedynki(6,6)

Ćwiczenie

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 49

W skrypcie 

moje_funkcje.sci

  i zdefiniować  funkcje  

jedynki(n,m),

wynikiem działania funkcji ma być macierz A

n x m 

wypełniona jedynkami

Przetestuj działanie skryptu obliczając:  jedynki(6,6)

Ćwiczenie

function A = jedynki(n,m)

A = ones(n,m);

endfunction

 

 

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 50

W skrypcie 

moje_funkcje.sci

  i zdefiniować  funkcje  

jedynki(n,m),

wynikiem działania funkcji ma być macierz A

n x m 

wypełniona jedynkami

uzupełnij funkcję o instrukcje które 

k-ty wiersz macierzy A wypełnią zerami ( k dodać do listy argumentów),

ostatni wiersz macierzy A wypełnią kolejnymi liczbami naturalnymi 

(rozpoczynając od jedynki)

ostatnią kolumnę macierzy A, z wyłączeniem elementu w ostatnim wierszu) 

wypełnią kolejnymi liczbami naturalnymi (rozpoczynając od jedynki)

Przetestuj działanie skryptu obliczając:  jedynki(6,6)

Ćwiczenie

function A = jedynki(n,m)

A = ones(n,m);

endfunction

 

 

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 51

W skrypcie 

moje_funkcje.sci

  i zdefiniować  funkcje  

jedynki(n,m),

wynikiem działania funkcji ma być macierz A

n x m 

wypełniona jedynkami

uzupełnij funkcję o instrukcje które 

k-ty wiersz macierzy A wypełnią zerami ( k dodać do listy argumentów),

ostatni wiersz macierzy A wypełnią kolejnymi liczbami naturalnymi 

(rozpoczynając od jedynki)

ostatnią kolumnę macierzy A, z wyłączeniem elementu w ostatnim wierszu) 

wypełnią kolejnymi liczbami naturalnymi (rozpoczynając od jedynki)

Przetestuj działanie skryptu obliczając:  jedynki(6,6)

Ćwiczenie

function A = jedynki(n,m,k)

A = ones(n,m);
A(k,1:m)= 0
A(n,1:m)= [1:m]
A(1:n-1,m)= [1:n-1]'

endfunction

 

 

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 52

W skrypcie 

moje_funkcje.sci

  i zdefiniować  następujące funkcje:

ac

b

c

b

a

delta

xy

z

y

x

z

y

x

f

4

)

,

,

(

1

)

(

cos

)

sin(

)

,

,

(

2

2

=

+

+

+

=

Przetestuj działanie skryptu obliczając:  f(1,2,3), delta(1,3,1)

Ćwiczenie

background image

Ins tytut Kons trukcji B udowlanych

Informatyka S tosowana

Zakład Komputerowego Ws pomagania Projektowania 

S emestr 1.

30 październik 2008

 

Podstawowe obliczenia w programie SciLab

slajd 53

W skrypcie 

moje_funkcje.sci

  i zdefiniować  następujące funkcje:

ac

b

c

b

a

delta

xy

z

y

x

z

y

x

f

4

)

,

,

(

1

)

(

cos

)

sin(

)

,

,

(

2

2

=

+

+

+

=

Przetestuj działanie skryptu obliczając:  f(1,2,3), delta(1,3,1)

function [p]=f(x,y,z)

p=sin(x+y)/(cos(z+x*y)^2+1)

endfunction

function [d]=delta(a,b,c)

d=b^2-4*a*c

endfunction 

-->f(1,2,3)
 ans  =
    0.1306105

-->delta(1,3,1)
 ans  =
    5.

 

Ćwiczenie


Document Outline