http://www.math.hut.fi/teaching/v/3/L/L31_10.html
Päivitetty 30.10.00
Luento ti 31.10.00
Jaksolliset funktiot
Alla oleva koodi JJ on hyödyllinen työkalu aina, kun käsitellään jaksollisia
funktioita. Sitä on ihan mukava kokeilla teht. 2 (AV) yhteydessä.
# V2-ja V3-kurssien ohjelmakoodeja
# v. 2000
#
# Päivitetty 27.10.00
#
# Maple-istunnossa:
# read("/p/edu/mat-1.414/maple/ohjelmat.mpl");
############### V3 2000 ##################
# Jaksollinen jatko: MapleTech Vol 3 No. 3 1996
#
JJ:=proc(f,d::range)
subs({'F'=f,'L'=lhs(d),'D'=rhs(d)-lhs(d)},
proc(x::algebraic) local y;
y:=floor((x-L)/D);
F(x-y*D);
end)
end:
# Esim:
#sw:=JJ(signum,-1..1);
#plot(sw,-4..4);
#
Yleistettyä derivointia
Paloittain jatkuva funktio, jolla on pisteissä ti hyppäys
di, voidaan kirjoittaa seuraavassa muodossa, missä g(t) on
kaikkialla jatkuva funktio. Mieti ja perustele!
n
-----
\
f(t) = g(t) + ) d[i] H(t - t[i])
/
-----
i = 1
Yleistetty derivaatta ("distribuutioderivaatta") toimii jatkuvalle, paloittain
derivoituvalle funktiolle niin, että derivaattafunktio on aivan tavallinen
derivaatta, jonka arvot voidaan asettaa mielivaltaisesti "kulmapisteissä",
siis niissä, joissa derivaattaa ei ole. Distribuutiomielessä samaistamme
funktiot, jotka eroavat vain pienessä poikkeusjoukossa, kuten äärellisessä
pistejoukossa.
Summalausekkeen derivaatta saadaan H:n derivoimissäännön avulla.
Tätä käsitellään hieman tarkemmin tiistain luennolla, mutta tällä
periaatteella tehtävä 4 sujuu.
Matlab-skripti siirtofunktion napojen ja nollakohtien piirtoon
Tämä koodi on myös täällä.
% 30.10.00 HA V3-kurssi.
% Matlab-skripti, jolla piirretään siirtofunktion nollakohdat (o) ja navat (x).
% Siirtofunktio (rationaalifunktio) esitetään vektoriparina P, Q.
% P:ssä on osoittajan kertoimet, korkeimmasta alimpaan asteeseen
% Q:ssa nimittäjän kertoimet --------------- " ------------
%
% Modifioi tätä esimerkkiä:
format compact
Q=[9 12 13]; P=[2 3];
z=roots(P) % zeros, nollakohdat
p=roots(Q) % poles, navat
a=min([real(z(:)'),real(p(:)')]);b=max([real(z(:)'),real(p(:)')])
c=min([imag(z(:)'),imag(p(:)')]);d=max([imag(z(:)'),imag(p(:)')])
clf
plot(z+0.00001*i,'or'); hold on; plot(p+0.000001*i,'xb');grid;
axis([a-0.2, b+0.2, c-0.2, d+0.7]);legend('Nollakohdat','Navat')
shg
Testifunktiot
theta=inline('(abs(t) < d).*exp(-d^2./(d^2-t.^2))','t','d');
d=1;int=quad8(theta,-d,d,[],[],d);
t=linspace(-2,2);
phi=theta(t,d)/quad8(theta,-d,d,[],[],d); plot(t,phi)
varit='rbgykcrbgykcrbgykcrbgykc'
t=linspace(-2,2,500);
clf;hold on
vari=0;
for d=1:-.1:.1
vari=vari+1;
phi=theta(t,d)/quad8(theta,-d,d,[],[],d); plot(t,phi,varit(vari))
end
grid