uvod - Laboratorij za obdelavo signalov in daljinska vodenja
uvod - Laboratorij za obdelavo signalov in daljinska vodenja
uvod - Laboratorij za obdelavo signalov in daljinska vodenja
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
60 2. Vrste <strong>signalov</strong> <strong>in</strong> elementarne operacije<br />
2.11 Elementarne operacije s programom MATLAB<br />
MATLAB ☞<br />
V prejšnem razdelku smo pregledali elementarne operacije nad signali <strong>in</strong> <strong>za</strong>poredji.<br />
Sedaj pa poglejmo, kako jih lahko pri <strong>za</strong>poredjih računamo s pomočjo<br />
programa MATLAB. Seveda bomo uporabnost programa pri elementarnih<br />
računskih operacijah poka<strong>za</strong>li na (končnih) <strong>za</strong>poredjih.<br />
2.11.1 Seštevanje <strong>za</strong>poredij<br />
Dve <strong>za</strong>poredji seštejemo tako da seštejemo istoležne podatke:<br />
{x 1 [n]} + {x 2 [n]} = {x 1 [n] + x 2 [n]} . (2.53)<br />
Za ukaz seštevanja program MATLAB uporablja znak +. Da lahko dve <strong>za</strong>poredji<br />
seštejemo, morata biti enako dolgi. Če to nista, ali pa so podatki pri<br />
enako dolgih <strong>za</strong>poredjih na različnih mestih, seštevanja ne moremo izvesti.<br />
Kadar podatki niso urejeni, moramo najprej opraviti poravnavo podatkov,<br />
na primer x 1 [n] <strong>in</strong> x 2 [n] tako, da imajo enako pozicijo v vektorju. Pri tem<br />
moramo skrbno upoštevati mehanizem označevanja podatkov z <strong>in</strong>deksi. Tem<br />
postopkom so v programu MATLAB namenjeni logični operator preseka &,<br />
realcije <strong>in</strong> == ter funkcija f<strong>in</strong>d. Njihovo uporabo lahko uvidimo iz<br />
def<strong>in</strong>icije funkcije, ki sešteje dve <strong>za</strong>poredji (program MATLAB 2.5):<br />
MATLAB 2.5: Seštevanje <strong>za</strong>poredij<br />
function [y,n] = sigsuma(x1,n1,x2,n2)<br />
% funkcija sešteje <strong>za</strong>poredji y(n) = x1(n)+x2(n)<br />
% ------------------------------------------------------------------<br />
% y = seštevek po podatkih <strong>za</strong>poredij x1 <strong>in</strong> x2 dolž<strong>in</strong>e n1 <strong>in</strong> n2<br />
% x1 = <strong>za</strong>poredje dolž<strong>in</strong>e n1<br />
% x2 = <strong>za</strong>poredje dolž<strong>in</strong>e n2 (n2 se lahko razlikuje od n1)<br />
% ------------------------------------------------------------------<br />
n = m<strong>in</strong>(m<strong>in</strong>(n1),m<strong>in</strong>(n2)):max(max(n1),max(n2)); % trajanje y(n)<br />
y1 = zeros(1,length(n)); y2 = y1;<br />
% <strong>in</strong>iciali<strong>za</strong>cija<br />
y1(f<strong>in</strong>d((n>=m<strong>in</strong>(n1))&(n=m<strong>in</strong>(n2))&(n