background image

Scilab – skrypty, lista poleceń

Strona 1

Skrypt (program interpretowany) możemy napisać w 

dowolnym edytorze. Warto posługiwać się edytorem 
wbudowanym w program Scilab.

Wykonać skrypt możemy na dwa sposoby:

• 

wpisując polecenie 

exec('nazwaSkryptu')

• 

wybierając z menu 

background image

Scilab – skrypty, lista poleceń

Strona 2

Sposób drugi jest wygodniejszy, ale na konsoli pojawia 

się dodatkowy tekst.

W sposobie pierwszym musimy znać nazwę pliku ze 

skryptem (i nazwę katalogu, w którym skrypt się 
znajduje). Przydatne polecenia:

background image

Scilab – skrypty, lista poleceń

Strona 3

• 

pwd() 

zwraca bieżący katalog roboczy, przy 

     uruchamianiu skryptów z tego katalogu wystarczy 

     podać „krótką” nazwę skryptu,

• 

cd('katalog') 

zmienia bieżący katalog roboczy.

Podstawowe instrukcje:

• 

definiowanie własnej funkcji

    

function [w]=g(a,b)

    pom=a.*a+b.*b

    w=sin(pom).*exp(pom)

  endfunction

  

//definicja funkcji dwóch zmiennych 

   (

a ,b = sina

2

b

2

e

a

2

b

2

),

• 

pętla 

for

 służy do powtarzania pewnego ciągu 

    instrukcji,  ilość powtórzeń (iteracji) określona jest przez 

    zmienną sterującą

  suma=0;
  for i=1:2:1000
    suma=suma+i;
  end

background image

Scilab – skrypty, lista poleceń

Strona 4

  suma //250000
  

//suma liczb nieparzystych z przedziału 

[

1,1000]

    

suma=0;

  for i=1:1000
    suma=suma+i;
  end
  suma //500500
  

//suma wszystkich liczb całkowitych z przedziału 

   

[

1,1000]

    

x=linspace(-2,2,101)'

  y=linspace(-3,3,201)
  z=[]
  for i=1:length(y)
    z=[z y(i).*x]
  end
  plot3d(x,y,z)
  

//wykres funkcji   x , y = x y

  A=[1 2 3;4 5 6;7 8 9]

[

1 2 3
4 5 6
7 8 9

]

  max(A)

//9 największa liczba w macierzy

    

max(A(:,2))

//8 największa liczba w drugiej 

    kolumnie
    

max(A(2,:))

//6 największa liczba w drugim wierszu

  suma=0;
  for i=A

background image

Scilab – skrypty, lista poleceń

Strona 5

    suma=suma+max(i);
  end
  suma //24
   //

suma największych liczb w kolumnach macierzy A,

• 

pętla 

while

 służy do powtarzania pewnego ciągu 

    instrukcji dopóki spełniony jest pewien warunek, przy 

    zapisywaniu warunku przydatne są operatory:

==

równe

<

mniejsze

>

większe

<=

mniejsze lub równe

>=

większe lub równe

~= lub <>

różne

~

negacja 

(zaprzeczenie)

|

alternatywa (lub)

&

koniunkcja (i)

   x=1;
   while (x<=27)
     x=2*x;
   end
   x

 //32 najmniejsza liczba postaci 2

n

 większa niż 

27

,

   n=input("Podaj liczbę naturalną: ");
   m=n;

background image

Scilab – skrypty, lista poleceń

Strona 6

   A=[];
   while (n>0)
     A=[A modulo(n,2)];
     n=floor(n/2);
   end
   printf("%d = ",m)
   for i=length(A):-1:1
     printf("%d",A(i))
   end

 //55 = 110111 (liczba 55 w układzie dwójkowym)

• 

instrukcja warunkowa if-elseif-else wykonuje fragment 

     kodu w zależności od spełnienia (bądź nie spełnienia) 

     pewnego warunku:

  disp("Rownania kwadratowe  
   ax^2+bc+c=0")
  a=input("a = ");
  b=input("b = ");
  c=input("c = ");
  delta=b^2-4*a*c;
  if(a==0)
    if(b==0)
      printf("To nie jest równanie")
    else
      printf("Jeden pierwiastek: 
        %6.6f",-c/b)

background image

Scilab – skrypty, lista poleceń

Strona 7

  end
  elseif(delta<0)
    printf("Brak pierwiastków")
  elseif(delta>0)
    printf("Dwa pierwiastki: %6.6f 
     %6.6f",(-b-sqrt(delta))/2*a,(-
     b+sqrt(delta))/2*a)
  else
    printf("Jeden pierwiastek: %6.6f",-
     b/(2*a))
  end

• 

instrukcja

 select-case 

wykonuje fragment kodu 

     w zależności od wartości pewnej zmiennej:

   clear()
   disp("Zgaduj zgadula");
   poprawne="owca";
   answer=input("Odgadnij zwierzę 
    (używaj małych liter): ");
   select answer
   case "owca" napis="Gratulacje!";
   case "koza" napis="Jesteś blisko";
   else napis="Niestety";
   end
   disp(napis)

background image

Scilab – skrypty, lista poleceń

Strona 8

Lista poleceń

Szczegółowy opis można znaleźć w 

manualu

 lub w helpie 

Menu główne => ? => Scilab Help.

• 

%e 

liczba e

• 

%pi 

liczba

• 

length(...) 

długość napisu lub ilość elementów 

     w tablicy

• 

min(...)

 najmniejsza wartość

• 

mean(...)

 średnia wartość

• 

max(...)

 największa wartość

• 

sum(...)

 suma

• 

poly(...)

 utworzenie wielomianu o podanych 

     współczynnikach lub o  podanych pierwiastkach

• 

xtitle(...) 

wyświetlenie napisów oknie 

     graficznym

• 

rand(...),grand(...)

 funkcje losujące.