← Back to topics
Topic

z_funkcija

r
renovator
jel moze neko malo da me usmeri.
Zaista nemam ideju kako da ga resim.
unapred hvala.
s
sidejan
!!!DACU POTPUNO RESENJE AKO NEKO NE ZELI DA CITA NEKA PRESKOCI!!!
Dajem resenje da bi imali jednu ideju vise za one koji nemaju mnogo iskustva...

PREDLAZEM I UCENJE:
* ALGEBRE
* LINEARNE ALGEBRE
* KOMBINATORIKE
* TEORIJE BROJEVA
* ANALIZE (1 a po mogucstvu i 2)








Pazi ovako:
Ovo je rekurentna (ili jos poznatija kao diferencna) jednacina drugog reda koja moze da se resi standardnim metodom za resavanje diferencnih jednacina (ako ga ne znas potrazi na netu) ali nije pogodan za programiranje u vecini slucajeva. Zato se treba malo snaci da bi se iskoprcalo drugo resenje. Naime
f_n=a*f_n-1 + b*f_n-2
treba nekako predstaviti ovo u obliku proizvoda KONSTANTNE matrice i vektora koji ce da prestavlja niz f (tj. jedan njegov deo).
znaci
|f_n+1 | | a b | |f_n |
|f_n | = | 1 0 | x |f_n-1| tj. v_n+1=A * v_n gde je A doticna matrica
za pocetak je dat v_0 .. .znaci v_n=A^n*v_0 ... da bi nasao A^n u brzom vremenu koristis algoritam za racunanje potencije u log n koji radi na sledecu foru:
pow(a,n) // treba da vrati a^n
if (n==0) return 1 ;
else {
tmp = pow(a,n/2) ;
tmp = tmp * tmp ;
if (n mod 2 == 1) tmp = tmp * a ;
return tmp ;
}
r
renovator
hvala ti mnogo.Stvarno nisam imao dve blage sto se tice ovoga.
pozdrav.
s
sidejan
Samo da pojasnim ... Onaj moj 'oglas' sta bi vam bilo korisno uciti se odnosi generalno a ne za ovaj zadatak ... Poenta je bila da kazem da je mnogo korisno znati dosta matematike ...
s
sidejan
OGLAS br. 2.
!!! LINUX LINUX LINUX !!!
OD MALIH NOGU POCNITE DA 'SLJAKATE' PO LINUX-u. AKO STE U MOGUCNOSTI MOZETE DA INSTALIRATE I MAC OS X Tiger VERZIJA ZA INTEL x86 DA SA NJIM EXPERIMENTISETE.
WINDOWS JE DROGA ZA MASE. LINUX JE ZNAK DA KOMUNIZAM MOZE DA DA DOBRE REZULTATE.

ZANIMLJIVOSTI:
http://en.wikipedia.org/wiki/Steve_Ballmer (Windows! Windows! Windows!) http://video.google.com/videoplay?docid=4696129852063198976&q=Steve+Ballmer
r
rajkon
Ne slazem se sa tim da je windows droga za mase...

A windows vs linux temu ne bi da zapochinjem (ima je dosta na elitesecurity.org, pa ako nekog bash zanima shta imaju da kazu oba tabora, neka ode tamo:)

n
nalism
ja bih zamolio za jos neka pojasnjenja!
:(
ovaj drugi deo sa procedurom za stepenovanje i rekurzivno zadatim elementima v(n) donekle razumem, ali ovaj:
|f_n+1 | | a b | |f_n |
|f_n | = | 1 0 | x |f_n-1| ... ne konatam!
mislim da bi mi pomoglo samo kako izgleda matrica A koja ucestvuje u gradjenju elemenata v(n), na recimo drugom primeru iz teksta ovog zadataka!
d
dimitar
f[n] = A*f[n-1] + B*f[n-2] + C*f[n-3]
f[n-1] = 1*f[n-1] + 0*f[n-2] + 0*f[n-3]
f[n-2] = 0*f[n-1] + 1*f[n-2] + 0*f[n-3]

| A B C | | f[n-1] |
M = | 1 0 0 |, V = | f[n-2] |
| 0 1 0 | | f[n-3] |

| f[n] | | A B C | | f[n-1] |
| f[n-1] | = | 1 0 0 | * | f[n-2] |
| f[n-2] | | 0 1 0 | | f[n-3] |


resenie: V * M^(n-3)



Inace, postoi i drugi, laksi nacin da se resi ova zadaca. Za ti koji ste resili
zadatak, pogledajte resenje na nikolaMKD:

http://www.z-trening.com/code/tmp.2kj9defyg9k7egyq.316.txt
d
dimitar
Ispravka:

f[n] = A*f[n-1] + B*f[n-2] + C*f[n-3]
f[n-1] = 1*f[n-1] + 0*f[n-2] + 0*f[n-3]
f[n-2] = 0*f[n-1] + 1*f[n-2] + 0*f[n-3]

| A B C | | f[n-1] |
M = | 1 0 0 |, V = | f[n-2] |
| 0 1 0 | | f[n-3] |

| f[n] | | A B C | | f[n-1] |
| f[n-1] | = | 1 0 0 | * | f[n-2] |
| f[n-2] | | 0 1 0 | | f[n-3] |



resenie: V * M^(n-3)
n
nalism
mislim da sam svatio!
:]
puno hvala dimitar!
r
rajkon
Pozdrav za sidejana iz MacOSa :)
i
iggy91
Sta je matrica V i kako si zakljucio da je jednaka bas tome cemu si napisao?
i
iggy91
Sta je matrica V i kako si zakljucio da je jednaka bas tome cemu si napisao?
t
turgond
dimitar, hvala puno na uputstvu, puno mi je pomoglo!!!