Równanie rekuręcyjne
Luki: Siemka,
mam zadanie zaimplementować równanie rekurencyjne: x(x+2) + 2*x(n+1) + 2*x(n) = (−1)n.
Oczywistym jest ze nie mogę tego zaimplementować w takiej postaci, ale nie mam pojęcia jak to
przekształcić.
Na zajęciach robiliśmy takie zadania ale wtedy było n, n−1, n−2 a nie n, n+1, n+2. Nie wiem jak
mam to rozgryść.
16 maj 15:48
PW: Najpierw popraw równanie
16 maj 16:22
Luki: tzn?
16 maj 16:24
PW: Nie widzisz tego
x(x+2) ?
16 maj 16:56
Luki: widzę ale nie wiem jak to zrobić, gdybym wiedział to bym zrobił prawda?
16 maj 17:10
ABC:
nie zastanawia cię że w innych nawiasach jest n , a tu było x?
16 maj 17:18
Luki: a to to sorry fakt nie wadziłem x(n+2) + 2*x(n+1) + 2*x(n) = (−1)n
16 maj 17:36
Mariusz:
X(t)=∑
n=0nx
nt
n
∑
n=0nx
n+2t
n+2+∑
n=0n2x
n+1t
n+2+∑
n=0n2x
nt
n+2=
∑
n=0n(−1)
nt
n+2
∑
n=0nx
n+2t
n+2+2t(∑
n=0nx
n+1t
n+1)+2(∑
n=0nx
nt
n+2)=
∑
n=0nx
nt
n−x
0−x
1t+2t(∑
n=0nx
nt
n−x
0)+2t
2(∑
n=0nx
nt
n)=
| t2 | |
X(t)(1+2t+2t2)=x0+(x1−2x0)t+ |
| |
| 1+t | |
| (x0+(x1−2x0)t)(1+t)+t2 | |
X(t)(1+2t+2t2)= |
| |
| 1+t | |
| x0+(x1−x0)t+(x1−2x0+1)t2 | |
X(t)= |
| |
| (1+t)(1+2t+2t2) | |
i teraz rozkładasz na sumę ułamków
A | | B | | C | |
| + |
| + |
| |
1−λ1t | | 1−λ2t | | 1−λ3t | |
gdzie λ
1∊ℂ,λ
2∊ℂ,λ
3∊ℂ
I nie musisz pisać funkcji rekurencyjnej
16 maj 18:24
Luki: ale to ma być funkcja rekurencyjna tak jest w zadaniu
16 maj 18:47
Mariusz:
To łatwo napisać taką funkcję
Masz
xn+2+2xn+1+2xn=(−1)n
xn+2=−2xn+1−2xn+(−1)n
Przesuwasz indeksy
xn=−2xn−1−2xn−2+(−1)n−2
xn=−2xn−1−2xn−2+(−1)n
Teraz możesz rozważyć dwa przypadki dla
n=2k oraz n=2k+1
Jaki to ma być język ?
16 maj 19:09
Luki: w RStudio
16 maj 19:14
Mariusz:
W Pascalu to by wyglądało tak
function mojaFunkcja(n,a,b:integer):integer;
begin
if n = 0 then
mojaFunkcja := a
else if n=1 then
mojaFunkcja := b
else if odd(n) then
mojaFunkcja := −2*mojaFunkcja(n−1) −2*mojaFunkcja(n−2) − 1
else
mojaFunkcja := −2*mojaFunkcja(n−1) −2*mojaFunkcja(n−2) + 1
end;
16 maj 19:19
Luki: to ma być funkcja z parametrami x0 i x1 zwracająca cały n elementowy wektor
16 maj 19:40
Mariusz:
a oczywiście zapomniałem przepisać warunków początkowych do rekurencyjnych wywołań
zadanej funkcji
16 maj 19:40
Mariusz:
Ja się w R nie bawilem
Ale czy to wtedy nadal będzie funkcja rekurencyjna ?
16 maj 19:51
Luki: ja nie wiem mam dany ten wzór co jest na początku i mam wyprowadzić go i napisać funkcję która
go realizuje
16 maj 20:07