Professional Documents
Culture Documents
VJEBE - NTDU
1. Analyzing Survival or Reliability Data, survivaldemo.m (1 sat)
2. Modeling a Fault-Tolerant Fuel Control System,
sldemo_fuelsys.mdl (1 sat)
3. Upravljanje robotskim kolicima od prole godine uzet od
Cibilia (3 sata)
4. ANN u Matlabu; nndtoc je GUI s raznim primjerima,
model_maglev_demo.m
Maglev
modeliranje,
PNN
Classification demopnn1.m (3 sata)
5. Fuzzy logika u Matlabu (3 sata): What Is Fuzzy Logic?;
MEMBERSHIP FUNCTION GALLERY, mfdemo.m; CHAOTIC
TIME-SERIES PREDICTION, mgtsdemo.m; Working in Simulink
Environment-An Example: Water Level Control, sltank,
sltank2
6. Fuzija slika: wavemenu, Image Fusion, unjeti 2 slike (1 sat)
206
30.1.2013.
y = f (x a, b ) = ba b x e
I ( 0 , ) ( x )
207
30.1.2013.
208
30.1.2013.
Broj observacija
70
60
50
40
30
20
10
0
0.5
1.5
2
Vrijeme preivljavanja
2.5
3
4
x 10
209
30.1.2013.
210
30.1.2013.
211
30.1.2013.
0.6
Proporcija otkaza
0.5
0.4
0.3
0.2
0.1
2000
4000
6000
8000
Vrijeme
10000
12000
14000
212
30.1.2013.
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0.5
1.5
Vrijeme
2.5
3
4
x 10
213
30.1.2013.
214
30.1.2013.
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
2000
4000
6000
215
30.1.2013.
x 10
2000
4000
6000
8000
10000
12000
14000
216
30.1.2013.
217
30.1.2013.
218
30.1.2013.
Throttle
Command
throttle
0 Throttle Sensor
throttle angle
Nominal
Speed
300
0
700
High
Speed
MAP
speed
Engine
Speed
Selector
Speed Sensor
Convert
sensors f uel_rate
To Plant
ego
12
Convert
EGO Sensor
fuel_rate_control
f uel
f uel
f uel
air_f uel_ratio
map
?
0
MAP Sensor
To Controller
sensor switches
simulatebilo
any combination
of sensor failures.
Senzorski The
prekidai
simuliraju
koju kombinaciju
otkaza senzora. Copyright 1990-2010 The MathWorks, Inc.
The Engine
Speed Selector
switch
engine
speeds (rad/sec).
Odabirom
poloaja
sklopke
zasimulates
brzinudifferent
motora,
simuliraju
se razliite brzine motora.
219
30.1.2013.
sensors
In1
est_airf low
est_airflow
validate_sample_time
O2_normal
es_o
fb_correction
fb_correction
f uel_mode
es_i
f uel_rate
1
fuel_rate
O2_normal
airflow_calc
sensors
f uel_mode
fuel_mode
control_logic
fuel_calc
220
30.1.2013.
221
30.1.2013.
222
30.1.2013.
223
30.1.2013.
224
30.1.2013.
<throttle>
Throttle Transient
1
u1
<speed>
est_airflow
2-D T(u)
u2
1
Pumping Constant
sensors
<map>
u1
Feedforward Control
2-D T(u)
u2
<ego>
0.5
<=
Ramp Rate Ki
0.5
Oxygen Sensor
Switching Threshold
Convert
e1
e0
K Ts
z-1
2
fb_correction
2
0
O2_normal
3
fuel_mode
enable_integration
==
sld_FuelModes.LOW
normal_operation
Feedback Control
225
30.1.2013.
226
30.1.2013.
227
30.1.2013.
est_airf low
est_airflow
f f _f uel_rate
f f _f uel_rate
f uel_mode
feedforward_fuel_rate
3
f uel_mode
f uel_rate
fuel_mode
1
fuel_rate
f b_correction
fb_correction
switchable_compensation
228
30.1.2013.
case: { }
f b_correction
3
fb_correction
f uel_rate
f f _f uel_rate
ff_fuel_rate
low_mode
case [ LOW ]:
[RICH]
2
u1
case [ RICH ]:
[RICH]
fuel_mode
case: { }
f f _f uel_rate
def ault:
f uel_rate
f b_correction
Merge
1
fuel_rate
def ault: { }
rich_mode
f uel_rate
disabled_mode
229
30.1.2013.
230
30.1.2013.
231
30.1.2013.
232
30.1.2013.
Teina
Pomak
Ulaz
Linearni neuron
233
30.1.2013.
234
30.1.2013.
235
30.1.2013.
DESIGN
Directional Derivatives
Function F
2
Directional Derivative
x(2)
1
0
-1
-2
-4
3
0
-3
-6
-3
-2
-1
x(1)
DIRECTIONAL DERIVATIVES
To measure a directional derivative click on the graph and move
the cursor w hile holding your mouse button dow n.
The directional derivative is taken at the point you clicked in the
direction of the current cursor position.
Chapter 8
236
30.1.2013.
Quadratic Function
Function F
Function F
1
10
F(x)
x(2)
-1
0
1
-2
-2
-1
-1
-1
-2 x(1)
x(2) -2
x(1)
d=
c=
Chapter 8
DESIGN
Taylor Series #1
cos(x)
Approximation
2
< CLICK ON ME >
-1
-1
-2
-6
-3
-2
-6
-3
Chapter 8
237
30.1.2013.
Amplitude
0
-1
-2
0
0.1
0.2
0.3
0.4
0.5
Time
Adaptive Weights
2
Learning Rate:
0.2
0.1
1.5
-1
Momentum:
W(1,2)
Chapter 10
-2
-2
W(1,1)
0.0
1.0
Amplitude
2
An EEG signal has
been contaminated
w ith noise.
An adaptive linear
netw ork is used to
remove the noise.
0
-1
-2
0
0.1
0.2
0.3
0.4
0.5
Tim e
Learning Rate:
0.0
0.02
0.2
Delays:
10
20
Chapter 10
238
30.1.2013.
Orienting Subsystem
Response
1
Adjust the inputs,
& constants then
push [Update] to
see the system
respond.
Reset a0
0.5
0
Click [Clear] to
remove old responses.
-0.5
-1
0
0.05
0.1
0.15
0.2
Tim e
Input p(1):
Input a1(1):
Input p(2):
Input a1(2):
+W0 Elements:
3.3
-W0 Elements:
3.7
0.1
5.0
0.1
5.0
Chapter 16
Hebb Learning
10
Weight
Click [Clear] to
remove old responses.
Click [Random] to get
random parameters.
6
4
2
0
0 2
6 8 10 12 14 16 18 20 22 24 26 28 30
Tim e
Learning Rate:
0.71
Decay Rate:
0.18
Chapter 13
0.0
1.0
0.0
1.0
239
30.1.2013.
Competitive Learning
Learning Rate:
0.4
0.0
1.0
Chapter 14
Function Approximation
Function Approximation
2
Click the [Train]
button to train the
logsig-linear
netw ork on the
function at left.
Target
1.5
1
0.5
0
-2
-1
Input
Difficulty Index:
Chapter 11
240
30.1.2013.
W2(1,1)
Use the radio buttons
to select the netw ork
parameters to train
w ith backpropagation.
a2
b1(1)
1
W1(2,1)
b2
W2(1,2)
The corresponding
contour plot is
show n below .
b1(2)
14
15
0.0
20.0
10
Increase Rate:
1.05
1.00
1.20
Decrease Rate:
W2(1,1)
0.7
0.50
5
0
-5
-5
10
15
Chapter 12
W1(1,1)
1.00
Momentum Backpropagation
W1(1,1)
W2(1,1)
Use the radio buttons
to select the netw ork
parameters to train
w ith backpropagation.
a2
b1(1)
1
W1(2,1)
b2
W2(1,2)
The corresponding
contour plot is
show n below .
b1(2)
15
Learning Rate:
3.5
20.0
Momentum:
0.90
W2(1,1)
10
0.0
5
0
0.0
1.0
-5
-5
10
15
Chapter 12
W1(1,1)
241
30.1.2013.
b1(1)
n1(1)
Backpropagation Calculation
s1(1)
a1(1)
-0.270
W2(1,1)
s2
0.090
n2
p
-0.410
n1(2)
a1(2)
W1(2,1)
Input:
b1(2)
-0.170
W2(1,2)
-0.130
a2
0.480
b2
s1(2)
t
Last Error: ?.??
p =
Target:
t = ?
Sim ulate:
a1 = ?
a2 = ?
e = ?
Backpropagate:
s2 = ?
Update:
W1 = ?
s1 = ?
b1 = ?
Chapter 11
W2 = ?
b2 = ?
Dynamic System
Pendulum Energy
pi radians
500
Drag the pendulum or
click on the contour
to set the initial
state.
Energy
400
3/2 pi
300
1/2 pi
200
100
0
0 radians
10
Velocity (rad/sec)
20
30
40
Time (sec)
Energy Contour
2
-2
-15
-10
-5
10
15
Chapter 17
Angle (radians)
242
30.1.2013.
Hopfield Network
Lyapunov Function
Lyapunov Function
1
2
V(a)
a2
0.5
0
0
-2
1
-0.5
-1
-1
0
0
a2
-1 -1
0
a1
a1
W=
b=
Finite Gain Value:
1.4
0.0
2.0
Chapter 18
243
30.1.2013.
244
30.1.2013.
245
30.1.2013.
246
30.1.2013.
247
30.1.2013.
4. Umjetne
neuronske
mree:
Modeliranje
magleva
Slika:
Alatka za treniranje mree
248
30.1.2013.
249
30.1.2013.
250
30.1.2013.
251
30.1.2013.
252
30.1.2013.
253
30.1.2013.
254
30.1.2013.
255
30.1.2013.
256
30.1.2013.
257
30.1.2013.
258
30.1.2013.
2.5
1.5
0.5
0.5
1.5
P(1,:) and p(1)
2.5
5. Neizrazita logika
Tipian oblik funkcija pripadanja
DSIGMF, GAUSS2MF, GAUSSMF, GBELLMF, EVALMF, PIMF,
PSIGMF, SMF, TRAPMF, TRIMF, ZMF
FigTitle = 'Membership Functions Gallery';
fig = findobj('Name',FigTitle);
if isempty(fig)
fig = figure('Unit','pixel',...
'Name',FigTitle,...
'NumberTitle','off');
% V5 default color
colordef(fig, 'black');
end
259
30.1.2013.
5. Neizrazita logika
set(0,'Current',fig)
x = linspace(-20, 20, 201);
mf_type = str2mat('trapmf', 'gbellmf', 'trimf', 'gaussmf',
'gauss2mf', 'smf');
mf = zeros(size(mf_type, 1), length(x));
param = [-19 -17 -12 -7;
3 4 -8 0;
-9 -1 2 0;
3 5 0 0;
3 10 5 13;
11 17 0 0];
mf = evalmmf(x, param, mf_type);
subplot(211);
plot(x, mf');
5. Neizrazita logika
axis([min(x) max(x) 0 1.2]);
text((param(1,2)+param(1,3))/2, 1.1, ...
deblank(mf_type(1,:)), 'horizon', 'center');
text(param(2,3), 1.1, ...
deblank(mf_type(2,:)), 'horizon', 'center');
text(param(3,2), 1.1, ...
deblank(mf_type(3,:)), 'horizon', 'center');
text(param(4,2), 1.1, ...
deblank(mf_type(4,:)), 'horizon', 'center');
text((param(5,2)+param(5,4))/2, 1.1, ...
deblank(mf_type(5,:)), 'horizon', 'center');
text(param(6,2), 1.1, ...
deblank(mf_type(6,:)), 'horizon', 'center');
set(gca, 'xtick', []);
260
30.1.2013.
5. Neizrazita logika
mf_type = str2mat('zmf', 'psigmf', 'dsigmf', 'pimf','sigmf');
mf = zeros(size(mf_type, 1), length(x));
param = [-18 -10 0 0; 2 -11 -5 -4; 5 -3 1 5; 0 7 11 15; 2 15 0 0];
mf = evalmmf(x, param, mf_type); subplot(212); plot(x, mf');
axis([min(x) max(x) 0 1.2]);
text(param(1,1), 1.1, ...
deblank(mf_type(1,:)), 'horizon', 'center');
text((param(2,2)+param(2,4))/2, 1.1, ...
deblank(mf_type(2,:)), 'horizon', 'center');
text((param(3,2)+param(3,4))/2, 1.1, ...
deblank(mf_type(3,:)), 'horizon', 'center');
text((param(4,2)+param(4,3))/2, 1.1, ...
deblank(mf_type(4,:)), 'horizon', 'center');
text(param(5,2), 1.1, ...
deblank(mf_type(5,:)), 'horizon', 'center'); set(gca, 'xtick', []);
5. Neizrazita logika
261
30.1.2013.
5. Neizrazita logika
Primjena: predikcija kaotinih vremenskih nizova
Predikcija se moe izvriti naredbom ANFIS.
Podaci vremenskog niza
Podatak se generira iz Mackey-Glass diferencijalnom
jednadbom s vremenskim kanjenjam definirano s izrazom:
dx(t)/dt = 0.2x(t-tau)/(1+x(t-tau)^10) - 0.1x(t)
kada je x(0) = 1.2 i tau = 17, imamo neperiodine i
nekonvergentne vremenske nizove koji su vrlo osjetljivi na
poetne uvjete. (Pret. x(t) = 0 za t < 0.)
5. Neizrazita logika
load mgdata.dat
a = mgdata;
time = a(:, 1);
x_t = a(:, 2);
plot(time, x_t);
xlabel('Time (sec)');
ylabel('x(t)');
title('Mackey-Glass Chaotic Time Series');
262
30.1.2013.
5. Neizrazita logika
Predprocesuiranje podataka
Sada elimo izgraditi ANFIS koji
predvia x(t+6) iz prolih vrijednosti
ovog istog vremenskog niza, tj.x(t-18),
x(t-12), x(t-6) i x(t). Stoga su podaci za
treniranje dani u formatu:
[x(t-18), x(t-12), x(t-6), x(t); x(t+6]
Iz t = 118 do 1117, skupljamo 1000
parova podataka u gornjem formatu.
Prvih 500 se koriste za treniranje dok
se ostali koriste za provjeru. Slika
prikazuje segment vremenskog niza iz
kojeg su parovi izlueni. Prvih 100
toaka podataka se ignoriraju da bi se
izbjeglo prijelazni dio podataka.
5. Neizrazita logika
trn_data = zeros(500, 5); chk_data = zeros(500, 5);
% prepare training data
trn_data(:, 1) = x_t(101:600); trn_data(:, 2) = x_t(107:606);
trn_data(:, 3) = x_t(113:612); trn_data(:, 4) = x_t(119:618);
trn_data(:, 5) = x_t(125:624);
% prepare checking data
chk_data(:, 1) = x_t(601:1100); chk_data(:, 2) = x_t(607:1106);
chk_data(:, 3) = x_t(613:1112); chk_data(:, 4) = x_t(619:1118);
chk_data(:, 5) = x_t(625:1124);
index = 119:1118; % ts starts with t = 0
plot(time(index), x_t(index)); xlabel('Time (sec)'); ylabel('x(t)');
title('Mackey-Glass Chaotic Time Series');
263
30.1.2013.
5. Neizrazita logika
Izrada ANFIS modela
Koristimo GENFIS1 da bi generirali poetnu FIS matricu iz podataka za
treniranje. Naredba je jednostavna, jer se koriste preddefinirane
vijednosti (default) za MF number (2) i MF type ('gbellmf'):
fismat = genfis1(trn_data);
% Poetne funkcije pripadanja (MF) za treniranje su prikazane na grafu.
for input_index=1:4,
subplot(2,2,input_index)
[x,y]=plotmf(fismat,'input',input_index);
plot(x,y)
axis([-inf inf 0 1.2]);
xlabel(['Input ' int2str(input_index)]);
end
5. Neizrazita logika
264
30.1.2013.
5. Neizrazita logika
Ima 2^4 = 16 pravila u generiranim FIS matricama, a broj
interpoliranih parametara je 108, ukljuujui 24 nelinearna
parametra i 80 linearnih parametara. Ovo je ispravan balans
izmeu broja paramatara za interpolaciju i broja podataka za
treniranje (500). Naredba ANFIS izgleda kao:
[trn_fismat,trn_error] = anfis(trn_data, fismat,[],[],chk_data)
Da bi utedili vrijeme, uitat emo izravno rezultate treniranja.
Nakon 10 epoha treniranja, konane funkcije pripadanja (MF) su
prikazane na grafu. Primjetite da se ove funkcije pripadanja ne
mijenjaju drastino. Oito je da veina interpolacijskih podataka
dobivena linearnim parametrima dok se nelinearni parametri
veinom koriste za fino podeavanje i daljnja poboljanja.
5. Neizrazita logika
% uitavanje rezultata treniranja
load mganfis
% iscrtavanje konanih funkcija pripadanja na x, y, z, u
for input_index=1:4,
subplot(2,2,input_index)
[x,y]=plotmf(trn_fismat,'input',input_index);
plot(x,y)
axis([-inf inf 0 1.2]);
xlabel(['Input ' int2str(input_index)]);
end
265
30.1.2013.
5. Neizrazita logika
5. Neizrazita logika
Krivulje pogreki
Sljedei graf prikazuje krivulje pogreki i podatka za trenianje i
podataka za provjeru. Primjetite da su pogreke treniranja vie
od pogreki provjere. Ovaj fenomen nije neuobiajen u ANFIS
uenju ili nelinearnoj regresiji openito; moe indicirati da je
proces treniranja daleko od gotovog.
% graf krivulji pogreki
close all; epoch_n = 10;
plot([trn_error chk_error]);
hold on; plot([trn_error chk_error], 'o'); hold off;
xlabel('Epochs');
ylabel('RMSE (Root Mean Squared Error)');
title('Error Curves');
266
30.1.2013.
5. Neizrazita logika
5. Neizrazita logika
Usporedbe
Sljedei graf pokazuje izvorni vremenski niz i onaj predvien
ANFIS-om. Razlika je toliko mala da je nemogue rei kolika je
iz vizuelne inspekcije grafa. Zato se vidi samo krivulja koju je
predvidio ANFIS. Predikcijske pogreke moraju se promatrati
na drugoj skali.
input = [trn_data(:, 1:4); chk_data(:, 1:4)];
anfis_output = evalfis(input, trn_fismat);
index = 125:1124;
plot(time(index), [x_t(index) anfis_output]);
xlabel('Time (s)');
267
30.1.2013.
5. Neizrazita logika
5. Neizrazita logika
Predikcijske pogreke ANFIS-a
Predikcijska pogreka ANFIS-a je prikazana ovdje. Primjetite da je
skala oko stotine skale prethodnog grafa. Prisjetite se da
imamo samo 10 epoha treniranja u ovom sluaju. Bolji
rezultat se moe postii ako se koristi ekstenzivniji trening.
diff = x_t(index)-anfis_output;
plot(time(index), diff);
xlabel('Time (sec)');
title('ANFIS Prediction Errors');
268
30.1.2013.
5. Neizrazita logika
5. Neizrazita logika
Primjer: Regulacija razine vode
Fuzzy Logic Toolbox moe raditi sa Simulink-om. Nakon to
kreiramo neizraziti sustav uporabom GUI alatki ili nekako
drugaije, sistem se moe ubaciti izravno u simulaciju.
Zamislite tank sa slavinom za ulaz i izlaz. Moete promijeniti
ventil koji regulira tokove vode na ulazu, ali izlazni tok ovisi o
dijametru izlazne slavine (koji je konstantan) i tlaku u
spremniku (koja varira s razinom vode).
Sustav ima vrlo nelinearnu karakteristiku.
269
30.1.2013.
5. Neizrazita logika
5. Neizrazita logika
Regulator za razinu vode u premniku treba znati trenutnu razinu
vode i treba biti sposoban postavljati ventil u eljeni poloaj. Ulaz
regulatora je pogreka razine vode (eljena razina vode minus
stvarna razina vode), a izlaz je brzina kojom se ventil otvara ili
zatvara. Prvi korak pri projektiranju neizrazitog regulatora moe
biti:
1. Ako (razina je uredu) onda (nema promjene na ventilu
2. Ako (razina je niska) onda (otvoriti brzo ventil)
3. Ako (razina je visoka) onda (ventil brzo zatvorti)
Neizraziti sustav moe se izravno uvesti u Simulink i testirati u
simulacijskom okruju. Simulink blok dijagram za taj sustav je
prikazan na narednoj slici. Sadri Simulink blokove. Sustav se
pojavljuje ako utipkamo sltank u liniji za naredbe. Istovremeno se
uitava datoteka tank.fis.
270
30.1.2013.
5. Neizrazita logika
5. Neizrazita logika
Neka eksperimentiranja pokazuju da ova 3 pravila nisu dovoljna,
jer razina vode tei osciliranju oko eljene razine:
271
30.1.2013.
5. Neizrazita logika
Potreban nam je dodatni ulaz,
brzina promjene razine vode, da bi
usporili pokretanje ventila kada je
blizu ispravnoj razini.
4. Ako (razina je dobra) i (brzina je
negativna), onda (ventil sporo
zatvori)
5. Ako (razina je dobra) i (brzina je
pozitivna), onda (ventil se otvara
sporo)
Model sltank je izgraen s 5
pravila. Sa svih 5 pravila moe se
ispitati odziv na step simuliranjem
ovog sustava. To moemo uiniti
klikom na Start iz izbornika
Simulate i klikom na Comparison
blok. Rezultat je slian sljedeem
grafu.
5. Neizrazita logika
Jedna interesantna znaajka
sustava spremnika vode je da se
spremnik prazni mnogo sporije,
nego se puni, zbog specifine
vrijednosti izlaznog dijametra
slavine. S time se moe nositi
podeavajui
close_slow
ventilsku funkciju pripadnosti
malo razito od open_slow. PID
regulator nema tu mogunost.
Ventilska naredba nasuprot
razini vode mijenja brzinu i
relativnu razinu vode te povrina
izgleda kao na slici. Ako se
pogleda poblie, moe se vidjeti
blaga asimetrija na grafu.
272
30.1.2013.
5. Neizrazita logika
Kako MATLAB podrava mnogo alatki, kao Control System
Toolbox ili Neural Network Toolbox, lako se moe usporediti
neizraziti regulator s linearnim regulatorom ili ANN regulatorom.
Za ilustraciju kako se Rule Viewer moe koristiti za
meudjelovanje s Fuzzy Logic Toolbox blokom u Simulink-ovom
modelu, ukucajte:
>> sltankrule
5. Neizrazita logika
273
30.1.2013.
5. Neizrazita logika
Rule Viewer koji se otvori tijekom simulacije moe se koristiti za
pristup Membership Function Editor (editoru funkcije
pripadnosti), Rule Editor (editor pravila) ili bilo koji drugi GUI.
Npr. moete htjeti otvoriti Rule Editor da bi izmjenili jedno ili vie
pravila. Da bi se to postiglo, potrebno je odabrati Rules pod
izbornikom Edit otvorenog Rule Viewer-a.
Sada moete mijenjati pravila i promatrati kako te promjene
utjeu na rezultat u Simulink modelu.
5. Neizrazita logika
274
30.1.2013.
5. Neizrazita logika
Ako se zaustavi simulacija prije odabira nekog od ovih editora,
trebali bi promijeniti FIS. Zapamitete da treba spremati promjene
koje napravite u FIS-u u workspace prije nego restartate
simulaciju.
Izgradnja vlastitog neizrazitog simulink modela
Da bi ga izgradili, jednostavno je potrebno kopirati Fuzzy Logic
Controller blok iz sltank (ili bilo kojeg drugog Simulink programa,
dema ili explorera) i stavite ga u svoj blok dijagram. Takoer
moete nai Fuzzy Logic Controller blocks u Fuzzy Logic Toolbox
library. Moete otvoriti library odabirom Fuzzy Logic Toolbox u
Simulink Library Browser prozoru ili tipkajui u konadnom
prozoru: >> fuzblock
5. Neizrazita logika
Fuzzy Logic Toolbox library sadri Fuzzy Logic Controller i Fuzzy
Logic Controller s Rule Viewer blokovima. Takoer ukljuuje
podbiblioteku funkcija pripadanja koji sadri Simulink blokove za
ugraene funkcije pripadanja.
Da bi dodali blok iz biblioteke, povucite blok u prozor Simulink
modela. Moete dobiti pomo za specifini blok klikom na Help.
Za veinu neizrazitih sustava zakljuivanja Fuzzy Logic Controller
blok automatski generira hijerarhijski blok dijagram. Ova
mogunost automatskog generiranja modela se naziva Fuzzy
Wizard. U blok dijagramu se koriste samo ugraene funkcije
Simulink blokova. Stoga je mogue i uinkovito generiranje koda.
Fuzzy Wizard ne moe se nositi s FIS-om koji ima definirane od
strane korisnika funkcije pripadanja ili s AND, OR, IMP, AGG
funkcijama osim ako to nisu: orMethod: max, andMethod:
min,prod, impMethod: min,prod, aggMethod: max.
275
30.1.2013.
5. Neizrazita logika
O ovom sluaju, Fuzzy Logic Controller blok koristi S-funkciju sffis
da bi simulirala FIS.
Fuzzy Logic Controller with Rule Viewer blok je proirenje Fuzzy
Logic Controller bloka. Doputa vizuelizaciju kako se pravila
aktiviraju tijekom simulacije. Ako se napravi desni klik na Fuzzy
Controller With Rule Viewer block, te se odabere Look Under
Mask, pojavit e se prozor koji pokazuje to je unutar crne kutije.
Da bi inicijalizirali Fuzzy Logic Controller block, potrebno je koristiti
korake:
2x kliknite blok da se otvori Function Block Parameters. Uite na
Fuzzy Logic Controller dialog box.
U FIS datoteci ili strukturi, unesite ime strukturne varijable ili ime
.fis file.
5. Neizrazita logika
Primjer: Ovo je primjer FIS modela auto-generiranog Fuzzy Logic
Controller blokom. Utipkajte:
>> slcp
u komandnom prozoru
i model se
pojavljuje.
276
30.1.2013.
5. Neizrazita logika
5. Neizrazita logika
Desnim klikom na Fuzzy Logic Controller block te odabirom Look
under mask iz izbornika dobija se:
277
30.1.2013.
5. Neizrazita logika
Iako model moe postati kompleksan, ovakav nain realizacije je bolji
za S-funkciju sffis kako bi se dobila bolja uinkovitost koda.
6. Fuzija slika
Naelo fuzije (spajanja) slika je u primjeni postupaka spajanja
dva ili vie originala u novu sliku koja ima dodatnu kvalitetu.
Da bi se to postiglo, slika ne mora biti iz istog izvora, npr. moe se
koristiti radarska i infracrvena slika ili ultrazvuna i od kamere
u vidnom podruju.
Za fuziju slika u Matlabu postoji razvijeno grafiko suelje koje
koristi tzv. valinu alatku (wavelet toolbox), tj. valinu
transformaciju. Ona spada u jednu od novijih vrsta
transformacije signala. Pri tome se slika razlae na
aproksimaciju i detalje.
Prilikom fuzije, slike moraju biti istih dimanzija. Fuzija se moe
sprovoditi na bilo kojoj razini valine transformacije i u bilo
kojim ili svim koeficijentima.
278
30.1.2013.
6. Fuzija slika
Prisjetite se
vaine
transformacije
50
100
150
200
250
300
350
400
450
500
550
100
200
300
400
500
600
700
NF
VF
50
50
50
50
100
100
100
100
150
150
150
150
200
200
200
200
250
250
250
50
100
150
200
CA
250
300
350
50
100
150
200
CH
250
300
350
250
50
100
150
200
250
CV
300
350
50
100
150
200
250
300
350
CD
6. Fuzija slika
279
30.1.2013.
6. Fuzija slika
280