07id 5473

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

(

g 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 f 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.


Wyszukiwarka

Podobne podstrony:
2 1 V 1 02 ark 07id 20006 Nieznany
07id 6688
2010 11 WIL Wyklad 07id 27178 Nieznany (2)
2011 EM BF zadania 07id 27556 Nieznany (2)
2 1 VII 04 07id 19910
2 1 VII 05 07id 19938
5473
06 07id 6226 Nieznany (2)
5473
5473
5473
07id 6689 ppt
2 1 VI 02 07id 19889
2015 01 11 ZUSO Wyklad 07id 285 Nieznany
5473
5473

więcej podobnych podstron