Elektroenergetska omrežja - Laboratorij za električna omrežja in

Elektroenergetska omrežja
Uvod v MATLAB
Ljubljana, 2014
Katedra za elektroenergetska omrežja in naprave
Elektroenergetski elementi - vaje
Stran: 2
Katedra za elektroenergetska omrežja in naprave
Elektroenergetski elementi - vaje
Kazalo
KAZALO ..................................................................................................................................... 3
1.
UVOD V MATLAB.............................................................................................................. 4
1.1
Kako pognati program MATLAB ............................................................................................4
1.2
M-datoteke............................................................................................................................5
1.2.1
Kako odpreti in zagnati M-datoteko? ............................................................................5
1.3
Prireditev vrednosti ...............................................................................................................6
1.3.1
Skalarji in kompleksna števila ........................................................................................6
1.3.2
Vektorji in matrike..........................................................................................................6
1.4
Operatorji in osnovne matematične funkcije .......................................................................7
1.4.1
Aritmetični operatorji .....................................................................................................7
1.4.2
Osnovne matematične funkcije .....................................................................................7
1.4.3
Trigonometrične funkcije ...............................................................................................8
1.4.4
Logični operatorji ...........................................................................................................8
1.5
Zaokroževanje .......................................................................................................................9
1.6
Manipulacije z matrikami in vektorji ...................................................................................10
1.6.1
Delo s členi vektorjev....................................................................................................10
1.6.2
Delo s členi, vrsticami, stolpci in podmatrikami matrik ...............................................11
1.6.3
Osnovne matematične operacije z vektorji in matrikami ............................................11
1.6.4
Vgrajene matrične operacije ........................................................................................12
1.7
2D grafi ................................................................................................................................14
1.8
Pogojni stavki ......................................................................................................................16
1.9
Odprtokodne alternative MATLAB-u ..................................................................................18
Stran: 3
Katedra za elektroenergetska omrežja in naprave
Elektroenergetski elementi - vaje
1. Uvod v MATLAB
Programski paket MATLAB je izdelek podjetja MathWorks. MATLAB je moderno programsko
orodje za numerično reševanje problemov. Razvijati so ga pričeli v univerzitetnem okolju in je šele
kasneje postal širše dostopen komercialni produkt. Program je napisan tako, da omogoča
enostavno izvajanje matričnih operacij, reševanje diferencialnih enačb z numerično integracijo,
grafični prikaz rezultatov vključno z animacijami. Edina podatkovna struktura MATLAB-a je
kompleksna matrika. Najenostavnejši način podajanja matrik je eksplicitni, to je način, ko
priredimo imenu matrike seznam elementov, ki so ločeni s presledki ali vejicami. Od tod tudi ime
MATLAB (matrični laboratorij). V tako imenovanih M-datotekah lahko zapišemo lasten
program. Vsako tako napisano datoteko lahko obravnavamo kot novo funkcijo in jo uporabljamo
na enak način kot že vgrajene funkcije. Z združevanjem M-datotek (funkcij) lahko vsakdo ustvari
obsežno orodje za namensko uporabo.
1.1 Kako pognati program MATLAB
MATLAB ima ob zagonu lahko različen izgled in ga sestavlja eno ali več oken. MATLAB namreč
omogoča da ga priredimo po lastnih potrebah in nato se izbrana nastavitev ohrani tudi ob
naslednjem zagonu. Ob zagonu se zato lahko odpre eno ali več oken. Najpogosteje so to okna
Command Window, Launch Pad in Command History lahko pa tudi okna Current
Directory,Workspace in Help. Osnovno nastavitev prikličemo s klikom v meniju
Home/Layout/Default. Velikokrat se zgodi, da je ob prvem zagonu pisava izredno majhna. To
spremenimo s klikom na Home/Preferences/Fonts, kjer si izberemo želeno pisavo.
Slika 1.1: Programsko okolje MATLAB
Stran: 4
Katedra za elektroenergetska omrežja in naprave
Elektroenergetski elementi - vaje
Oglejmo si malce bolj podrobno glavna okna:

Command Window je glavno okno MATLAB-a v katerega lahko neposredno vpisujemo
ukaze. Delo v njem je priporočljivo le za reševanje enostavnih problemov in za hitre
izračune. Za ponoven izračun z drugačnimi vhodnimi podatki je namreč potrebno vse ukaze
še enkrat napisati.
Slika 1.2: Glavno okno – Command Window




Command History prikazuje staro vsebino okna Command Window.
Current Directory prikaže delovno mapo s seznamom vseh *.m datotek in *.mdl datotek
(Simulink sheme), ki se nahajajo v njem.
Workspace podaja sezam, tip in dimenzijo vseh spremenljivk, definiranih v delovnem
prostoru.
1.2 M-datoteke
So datoteke v katerih so lahko zapisani uporabniški programi in že izdelani programi (v okviru
osnovnega MATLABA-a ali njegovih orodij). V M-datoteko torej lahko zapišemo svoj program. Iz
M-datoteke lahko kličemo tudi druge M-datoteke.
1.2.1 Kako odpreti in zagnati M-datoteko?
Novo M-datoteko odpremo v meniju Editor/New/Script. Odpre se novo okno z MATLAB-ovim
urejevalnikom besedil v katerega napišemo program. Za pisanje M-datotek lahko uporabimo tudi
katerikoli drug urejevalnik besedil kot npr. beležnico. MATLAB-ov editor lahko odpremo tudi brez
zagona MATLAB-a. Že obstoječo datoteko odpremo tako, da v MATLAB-ovem oknu v meniju
izberemo File/Open in nato poiščemo iskano datoteko. M-datoteko shranimo s končnico .m. Če
delamo z MATLAB-ovim urejevalnikom se ta končnica doda avtomatsko, če pa uporabljamo kakšen
drug urejevalnik pa jo je potrebno dodati. Ime datoteke ne sme vsebovati šumnikov in presledkov.
Stran: 5
Katedra za elektroenergetska omrežja in naprave
Elektroenergetski elementi - vaje
Program zapisan v M-datoteki poženemo tako, da pritisnemo ikono Editor/Run ali s klikom na F5.
Program je potrebno predhodno shraniti in če tega nismo storili, nas MATLAB avtomatsko prosi,
da ga shranimo. Prav tako poda zahtevo po spremembi delovne mape in praktično vedno
pritisnemo »Change Folder«. Če želimo pognati samo del programa, označimo želeno kodo in
pritisnemo F9. Če smo v programu omogočili izpis rezultatov (to pomeni da se ustrezne vrstice ne
zaključijo s podpičjem) vidimo rezultate v delovnem oknu.
Na začetku vsakega programa po navadi zapišemo tri ukaze, to so



clc – pobriše vsebino glavnega okna.
clear all – izbriše vse predefinirane spremenljivke in
close all – zapre vsa grafična okna.
1.3 Prireditev vrednosti
1.3.1 Skalarji in kompleksna števila
Decimalna števila se vpisujejo s piko. V MATLAB odtipkajte naslednjo kodo in interpretirajte
rezultate:
a
b
c
d
e
f
g
=
=
=
=
=
=
=
10
20;
1.07
5e-4
5*10^5
3 + i*1
1 - j
1.3.2 Vektorji in matrike
Vrstični vektor vpišemo v oglatih oklepajih, člene vektorja med seboj ločimo z vejico ali
presledkom x = [1,2,3]. Stolpčni vektor vpišemo v oglatih oklepajih, njegove člene pa ločimo s
podpičji x=[4;3;2;1]. Vektor z enakomerno naraščajočimi/padajočimi členi generiramo na sledeči
način x=1:0.2:2. Matriko vpišemo tako, da vrstice ločimo s podpičjem, člene v vrstici pa z vejico ali
presledkom A = [1,2,3;4,5,6;7,8,9].
x=[x1, x2, x3 ,..]
Vpis vrstičnega vektorja.
y=[y1; y2; y3; y4; ..]
Vpis stolpčnega vektorja
x=x_začetni : korak : x_končni
Avtomatsko generiranje vektorja
A = [A11, A12, A13,.. ; A21, A22, A23,.. ; Vpis matrike
A31, A32, A33,..;..]
Stran: 6
Katedra za elektroenergetska omrežja in naprave
Elektroenergetski elementi - vaje
V MATLAB odtipkajte naslednjo kodo in interpretirajte rezultate:
%
a
b
c
d
e
A
Za komentiranje zapišemo znak »%« pred vsako vrstico
= [1,2,3,4]
= [1 2 3 4]
= [1; 2; 3; 4]
= 1:10
= 1:0.5:10
= [1 2 3; 4 5 6; 7 8 9]
% Transponirajmo vektor a:
a_transponiran = a'
% Izračunajmo inverzno matriko matrike A
inv_A = A^-1
% Inverzno matriko A lahko izračunamo tudi z uporabo
funkcije inv()
inv_A = inv(A)
% Izračun inverzne matrike na način 1/A je napačen!
1.4 Operatorji in osnovne matematične funkcije
1.4.1 Aritmetični operatorji
+, -
seštevanje,odštevanje
*, /
množenje, deljenje
^
potenca
sqrt(x)
kvadratni koren
\
levo deljenje
1.4.2 Osnovne matematične funkcije
exp(x)
Eksponentna funkcija ex
log(x)
Naravni logaritem
log10(x)
Desetiški logaritem
abs(x)
Absolutna vrednost
Stran: 7
Katedra za elektroenergetska omrežja in naprave
Elektroenergetski elementi - vaje
1.4.3 Trigonometrične funkcije
Argumenti (koti) se podajajo v radianih. Vrednost konstante
v izrazih:
cos (x)
Kosinus kota
sin(x)
Sinus kota
tan (x)
Tangens kota
acos(x)
Inverzni kosinus
asin(x)
Inverzni sinus
atan(x)
Inverzni tangens
sinh(x)
Hiperbilični sinus
cosh(x)
Hiperbolični kosinus
tanh(x)
Hiperbolični tangens
je vgrajena in jo lahko uporabljamo
1.4.4 Logični operatorji
Se uporabljajo predvsem kot argumenti v pogojnih stavkih:
~
negacija
~=
ni enako
==
ekvivalentno
<
manjše
<=
manjše ali enako
>
večje
>=
večje ali enako
&
logični in
|
logični ali
~
komplement
Stran: 8
Katedra za elektroenergetska omrežja in naprave
Elektroenergetski elementi - vaje
V MATLAB odtipkajte naslednjo kodo in interpretirajte rezultate:
a =10;
b =20;
c = a + b
d = a - b
e = a * b
f = a / b
g = a \ b
h = a ^ 2
i=exp(1)
j=exp(2)
% Sedaj ne i ne j nista več kompleksni števili, saj smo jima priredili
% določeno vrednost. Če želimo poenostaviti njune vrednosti, to
% naredimo z ukazom clear:
clear i j
% Ne pozabite kako je potrebno vnašati kote kadar računamo s kotnimi
% funkcijami - radiane ali stopinje. Ponovite kako se pretvori iz stopinj
% v radiane in obratno!
sin(1)
sin(pi)
sqrt(2) % kvadratni koren
27^(1/3) % kubični koren
log(exp(1)) % naravni logaritem
log10(10) % desetiški logaritem
7/0 % deljenje z ničlo
Inf + Inf
%
1
3
3
3
Logični operatorji (vrnejo 0 ali 1):
== 2
~= 2
> 3
>= 3
1.5 Zaokroževanje
Za zaokroževanje rezultatov uporabljamo ukaze fix, floor, ceil, round.
fix(x)
Z aokrožitev navzdol na celo število
round(x)
Zaokrožitev na najbližje celo število
floor(x)
Zaokrožitev na najbližje celo število, proti minus neskončno
ceil (x)
Zaokrožitev na najbližje celo število, proti neskončnosti
Stran: 9
Katedra za elektroenergetska omrežja in naprave
Elektroenergetski elementi - vaje
V MATLAB odtipkajte naslednjo kodo in interpretirajte rezultate:
floor(-4.8)
floor(4.8)
fix(-4.8)
fix(4.8)
ceil(4.8)
ceil(4.2)
ceil(-4.8)
Manipulacije z matrikami in vektorji
1.6
Nekaj osnovnih pravil za manipulacije z vektorji in matrikami:

Z vejico ločimo člene v stolpcu, z dvopičjem preidemo v novo vrstico.

Pri delu z matrikami, oziroma členi matrik, se prvo število v oklepaju nanaša na vrstico,
drugo na stolpec. A(i,j) tako pomeni i to vrstico in j-ti člen v vrstici

Če delamo s celim stolpcem ali vrstico, nadomestimo številko člena z dvopičjem. A(i,:) tako
pomeni i-to vrstico in je torej vrstični vektor, A(:,j) pomeni vse člene v j-tem stolpcu in je
stolpčni vektor.

Če bomo priredili vrednost nekega člena matriki, ki še ni definirana, bodo imeli ostali členi
matrike vrednost 0. Če npr. uporabimo ukaz C(3,4) = 10 in matrike C še ni, bo generirana
matrika C dimenzije 3x4, ki bo imela člen C(3,4) = 10, vsi ostali členi pa bodo nič.

Pri dodajanju členov matriki je potrebno paziti na dimenzijo. Tako lahko matriki dodamo le
stolpec, ki ima toliko členov kot ima matrika vrstic ali vrstico, ki ima toliko členov kot ima
matrika stolpcev.
1.6.1
Delo s členi vektorjev
xi=x(i)
Branje i-tega člena vektorja
x(i)=xi
Prirejanje vrednosti i-temu členu vektorja
x=[x, a1, a2, a3,..]
Dodajanje členov a1,a2,... vrstičnem vektorju
x=[x; a1; a2; a3,..]
Dodajanje členov a1,a2,... stolpčnem vektorju
Stran: 10
Katedra za elektroenergetska omrežja in naprave
Elektroenergetski elementi - vaje
1.6.2 Delo s členi, vrsticami, stolpci in podmatrikami matrik
Aij=A(i,j)
Branje člena matrike
a=A(:,j)
Branje j-tega stolpca matrike
a=A(i,:)
Branje i-te vrstice matrike
B=A(i:j,k:l)
Branje podmatrike
A(i,j)=Aij
Prirejanje nove vrednosti členu matrike
A(:,i)=[Ai1; Ai2; Ai3;...]
Prirejanje nove vrednosti stolpcu matrike
A(i,:)=[A1i, A2i, A3i,...]
Prirejanje nove vrednosti vrstici matrike
A(:,j)=[]
Brisanje stolpca iz matrike
A(i,:)=[]
Brisanje vrstice iz matrike
C=[A,x]
Dodajanje stolpca matriki
C=[A;y]
Dodajanje vrstice matriki
1.6.3 Osnovne matematične operacije z vektorji in matrikami
MATLAB omogoča dva tipa operacij med vektorji in matrikami. Prvi način je takšen kot ga
poznamo z matematike, npr. množenje dveh matrik. Drug način pa je bolj splošen in omogoča tudi
operacije po elementih, npr. množenje istoležnih členov dveh matrik. Ta možnost izhaja iz dejstva,
da MATLAB temelji na uporabi polj (array), matrike pa so samo posebna oblika teh polj s posebej
definiranimi (matričnimi in vektorskimi) operacijami. Oba tipa operacij sta opisana spodaj.

A (+, -, *, /) a
Prištevanje /odštevanje/množenje/deljenje vseh členov matrike ali
vektorja s skalarjem.
A*y
Množenje matrike z vektorjem.
A (+, -, *, /) B
Prištevanje /odštevanje/množenje/deljenje matrike z matriko.
A ( .*, . /) B
Množenje/deljenje matrike z matriko po členih.
a (+, -, *, /) b
Prištevanje /odštevanje/množenje/deljenje vektorja z vektorjem.
a (. *, . /) b
Množenje/deljenje vektorja z vektorjem po členih.
A'
Transponiranje vektorja ali matrike.
Prištevanje/odštevanje/množenje/deljenje matrike ali vektorja s skalarjem: Vsakemu
členu matrike ali vektorja lahko prištejemo/odštejemo vrednost skalarja a oziroma jih z a
delimo/množimo z ukazi A+a , A-a , A*a , A/a .
Stran: 11
Katedra za elektroenergetska omrežja in naprave
Elektroenergetski elementi - vaje

Množenje matrike z vektorjem: Matriko A z vektorjem y pomnožimo z ukazom A*y. y
mora biti stolpčni vektor dimenzije, ki je enaka številu stolpcev matrike A.

Prištevanje/odštevanje/množenje/deljenje matrike z matriko: Prišteti in odšteti je možno
le matrike enakih dimenzij. Operacija se izvrši člen s členom. Pomnožimo (matrično
množenje) lahko le matriki, kjer ima prva enako število stolpcev kot druga vrstic. Delimo
lahko le matriki, ki imata enako število stolpcev.

Množenje/deljenje matrike z matriko po členih: Operacijo lahko izvajamo samo na
matrikah enakih dimenzij. Operacijo po členih označimo s piko pred operatorjem, npr.
operator za množenje po členih je (.*). Zmnožijo/delijo se istoležni členi v matrikah (torej
ne gre za množenje matrik, kot ga poznamo iz matematike).

Prištevanje /odštevanje/množenje/deljenje vektorja z vektorjem: Prišteti/odšteti/deliti je
možno le vektorje enakih dimenzij. Pri tem se operacija izvede na istoležnih členih.

Množenje/deljenje vektorja z vektorjem po členih: Operacijo po členih označimo s piko
pred operatorjem, npr. operator za množenje po členih je (.*). Zmnožijo/delijo se istoležni
členi v vektorjih (torej ne gre za množenje vektorjev, kot ga poznamo iz matematike).

Transponiranje: Matriko oziroma vektor transponiramo z ukazom A', oziroma y'.
1.6.4 Vgrajene matrične operacije
sum(x)
Vsota členov vektorja ali stolpca matrike
max(x)
Največji člen vektorja ali stolpca matrike
inv(A)
Inverzna matrika
rank(A)
Rang matrike
det(A)
Determinanta matrike
eig(A)
Lastne vrednosti matrike
poly(A)
Koeficienti karakterističnega polinoma
norm(A)
Norma matrike ali vektorja
Stran: 12
Katedra za elektroenergetska omrežja in naprave
Elektroenergetski elementi - vaje
V MATLAB odtipkajte naslednjo kodo in interpretirajte rezultate:
A = [1 2 3; 4 5 6; 7 8 9]
A' % Transponiranje matrike
A + 10
A / 10
% Pozorno opazujte razliko med * in .*
A * A
A .* A
[5 5 5] * A
[5 5 5] .* A
% Branje členov
A(:,1)
A(1,:)
A(end,2)
A(2:3,3) %
drugi in tretji člen tretjega stolpca
% Matriki spreminjamo člene
A(3,2) = 0
A(:,3) = 1
A = [A A] % matriki dodamo matriko in jih združimo v eno
b(1:5) = 1
b = [b 6] % vektorju dodamo še en člen
c = b' % c je transponiran vektor b
c (2:4) = 2
c .* c
c * c
c * b
%
%
%
%
Ponovite operacije z matrikami:
- kdaj lahko množimo in kdaj ne
- inverzne matrike
- pri množenju matrik je pomembno zaporedje!
length(b) % izpis dolžine vektorja
size(A) % izpis dimenzij matrike
Stran: 13
Katedra za elektroenergetska omrežja in naprave
Elektroenergetski elementi - vaje
1.7 2D grafi
Za izris, opremljanje osnovnih 2D grafov in delo z njimi uporabljamo naslednje ukaze:
figure(i)
Odpre grafično okno številka i.
plot(x,y,x1,y1,x2,y2,..)
V okno izriše x,y graf.
title('Naslov')
Graf opremi z naslovom.
xlabel('Oznaka na X osi')
X os opremi z oznako.
ylabel('Oznaka na Y osi')
Y os opremi z oznako.
grid
V graf nariše mrežo.
axis([Xmin, Xmax, Ymin,Ymax])
Določitev območja X in Y osi grafičnega okna..
hold on
Zadrži trenutno sliko v grafičnem oknu, tako da lahko
kasneje dodamo še več potekov.
legend ('Prvi graf', 'Drugi graf','..)
V grafično okno z več poteki doda legendo.
subplot(2,2,1) , plot(x1,y1)
Grafično okno razdeli v 4 podokna (2x2), V prvo nariše graf
(x1,y1)
close all
Zapre vsa grafična okna


Ukaz figure: Z ukazom figure(i) se odpre i-to grafično okno. Ta ukaz je potrebno uporabiti
zmeraj, ko želimo narisati graf v novo okno, to je pred ukazom plot. V primeru ko tega
ukaza ne uporabimo se graf nariše v zadnje odprto grafično okno. Stara vsebina tega okna
se (razen če smo uporabili ukaz hold on) izbriše. Če še ni odprto nobeno grafično okno in
uporabimo ukaz plot, se avtomatsko odpre.
Ukaz plot: XY graf izrišemo torej z ukazom plot(x,y) . X in Y morata biti vektorja enake
dolžine. V primeru če je eden vektor stolpčni drugi pa vrstica je potrebno enega izmed njiju
transponirati. Namesto vektorjev x i n y lahko vpišemo v ukaz plot tudi kakšen izraz, npr.
plot(t,cos(t)) . Če želimo v grafično okno izrisati istočasno več grafov v ukazu plot
navedemo x , y pare po vrsti, npr. plot(x,y,x1,y1,x2,y2). Vsak potek se izriše s svojo barvo.
Stran: 14
Katedra za elektroenergetska omrežja in naprave
Elektroenergetski elementi - vaje
Preizkusimo do sedaj prikazane ukaze na enostavnih primerih. Odtipkajte vsak odstavek v MATLAB
in opazujte razliko na grafu:
x=-10:10; % najprej definirajmo vektor od -10 do 10 s korakom 1
figure(1)
plot(sin(x))
xlabel('vodoravna os')
ylabel('navpicna os')
% Vidimo, da je korak prevelik. Zmanjšajmo korak in izrišimo še enkrat:
x=-10:0.1:10;
figure(2)
plot(sin(x))
xlabel('vodoravna os')
ylabel('navpicna os')
% Na sliki 2 želimo, da gre x os od -10 do 10 in ne od 1 do konca
dolžine
% vektorja x
figure(3)
plot(x,sin(x))
xlabel('vodoravna os')
ylabel('navpicna os')
% Izris dveh slik na enem grafu
figure(4)
hold on
plot(x,sin(x),'red')
plot(x,sin(x+pi/2),'green')
xlabel('vodoravna os')
ylabel('navpicna os')
% namesto črte lahko za vsako točko izrišemo različne simbole
figure(5)
hold on
plot(x,sin(x),'*')
plot(x,sin(x+pi/2),'r+')
xlabel('vodoravna os')
ylabel('navpicna os')
% omejimo x os od 0 do 2*pi in y od od -1 do 1 in dodamo mrežo
figure(6)
hold on
grid on
plot(x,sin(x))
xlabel('vodoravna os')
ylabel('navpicna os')
axis([0 2*pi -1 1])
Stran: 15
Katedra za elektroenergetska omrežja in naprave
Elektroenergetski elementi - vaje
% dodajmo legendo
figure(7)
hold on
grid on
plot(x,sin(x),'yellow')
plot(x,sin(x+pi/2))
xlabel('vodoravna os')
ylabel('navpicna os')
legend('sin(x)','sin(x+pi/2)',4)
axis([0 2*pi -1.5 1.5])
title('To je naslov')
% Še en zahtevnejši graf:
figure(10)
hold on
grid on
spodnja_meja(1:length(x))=-1;
zgornja_meja(1:length(x))=1;
plot(x,sin(x),'green')
plot(x,sin(x+pi/2))
plot(x,spodnja_meja,'r','LineWidth',2)
plot(x,zgornja_meja,'r','LineWidth',2)
ylabel('\itNapetost \rm / U')
xlabel('\itČas \rm / 24ur') % "\it" pomeni posevno, "\rm" pa pokoncno
legend('sin(x)','sin(x+pi/2)',4)
title('naslov grafa')
axis([0 2*pi -1.5 1.5])
1.8 Pogojni stavki
if
Pogojni stavek
for zanka
Zanka z določenim številom ponovitev
while zanka
Zanka z logičnim pogojem
switch
Pogojni skoki
break
Skok iz zanke ali pogojnega stavka
Stran: 16
Katedra za elektroenergetska omrežja in naprave
Elektroenergetski elementi - vaje

Ukaz if: Ukazi napisani v okviru pogojnega stavka se izvedejo če je izpolnjen podan logični
pogoj. Splošna oblika if stavka je naslednja:
if pogoj1
stavki1;
elseif pogoj2
stavki2;
else
stavki3;
end

V primeru če je izpolnjen pogoj1 se torej izvedejo stavki1 . Sicer se preveri pogoj2 in če je
izpolnjen ta, se izvedejo stavki2 . Če nista izpolnjena ne pogoj1 ne pogoj2 se izvedejo
stavki3 . Seveda lahko v if stavku nastopa še več elseif pogojev, pa tudi else stavek ni nujen.
If stavke je možno tudi gnezditi. Pri pisanju pogojev uporabljamo logične operatorje <, >=,
>=, ~=, = =.
Ukaz for: Z ukazom for generiramo zanko, ki se bo izvedla tolikokrat, kot smo določili.
Splošna oblika for zanke je naslednja:
for stevec = zacetni:korak:koncni,
stavki;
end
Število ponovitev je torej določeno z začetno in končno vrednostjo števca ter korakom s katerim
se števec povečuje.
Stran: 17
Katedra za elektroenergetska omrežja in naprave
Elektroenergetski elementi - vaje
V MATLAB odtipkajte naslednjo kodo in interpretirajte rezultate:
b = 0;
for i = 1 : 10
b = b + 1;
end
b
b = 0;
for i = 1 : 10
b = b + 1;
if b == 5
break
end
end
b
c = [10 5 11 3 20 55];
for i =1:length(c)
d(i)= 10*c(i);
end
d
% vse člene v vektorju d, ki so večji ali enaki 100, damo na nič:
for i = 1 : length(d)
if d(i) >= 100
d(i) = 0;
end
end
d
1.9 Odprtokodne alternative MATLAB-u
Octave je odprtokodni računalniški program za numerične matematične izračune. Večinoma je
združljiv s programom MATLAB. Je brezplačna alternativa MATAB-u. Omogoča tudi podporo
Matpower-ju. V praksi lahko torej izdelamo povsem enake optimizacijske programe in simulacije
kot v MATLAB-u. Delo pa je oteženo, ker Octave nima grafičnega vmesnika
Stran: 18