Problem 8057. (Linear) Recurrence Equations - Generalised Fibonacci-like sequences
This problem is inspired by problems 2187, 3092 and other problems based on Fibonacci sequence.
I haven't seen here many problems based on other recursive sequences such as Lucas numbers, Pell numbers, Padovan sequence or Tribonacci numbers so this is a problem about them all.
Your function input will be N, Init and Rules. Init and Rules represent initial values of sequence and a kernel which denotes recurrence relation:
Init : [ A1 A2 ... Ak]
Rules : [ Ck ... C2 C1] function: f(n) = (Ck) * f(n-k) + ... + (C2) * f(n-2) + (C1) * f(n-1)
and f(1) = A1, f(2) = A2, ..., f(k) = Ak,Init and Rules have the same length, N may be a single number or a vector. Your function should return values of f(N). Example:
% Fibonacci sequence: f(1)=f(2)=1, f(n)=f(n-2)+f(n-1)
>> Init = [1 1];
>> Rules = [1 1];
>> N = 1:10;
>> fibonacci = recurrence_seq(N,Init,Rules),
fibonacci =
1 1 2 3 5 8 13 21 34 55Other info:
- Different approaches may lead to solutions which won't be able to compute f(n) for n being equal 0 or negative integer. If your solution doesn't return correct answer for those numbers it will still pass if it returns NaNs for n<1.
- Please, try to avoid unnecessary things like strings, ans, etc.
Solution Stats
Problem Comments
-
1 Comment
nếu thầy Hiệp cho vào phần này thì trước hết ta phải tách phần âm và phần dương của Init ra vì ko có dãy fibonacci tại các số âm, sau đó ta dùng nhân mảng để nhân cùng 1 lúc vì nếu nhân từng phần tử thì quy trình sẽ khá là phức tạp sau khi ta xử lí xong thì bây giờ sẽ có 1 dãy fibonacci thì ta chỉ cần dùng logical index để truy cập nhanh và đồng thời ghép lại mảng âm của Init nếu có để có output hoàn chỉnh
Solution Comments
Show commentsProblem Recent Solvers396
Suggested Problems
-
4149 Solvers
-
Project Euler: Problem 5, Smallest multiple
1622 Solvers
-
Replace multiples of 5 with NaN
455 Solvers
-
1305 Solvers
-
1689 Solvers
More from this Author40
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!