help with matlab coursework...i keep receiving the error message!

hello...

consider the number (G-numbers) G(n) that are defined for all non-negative intergers n by

G(0) = 0

G(1) = 1

G(2) = 1

G(n) = 3G(n-1) - G(n-2) - G(n-3), for n>1.

Write a matlab function, gseq(n), that will calculate G(n).

I have tried and tried to do this but keep getting it wrong, and dont know exactly where i am going wrong. This is what i have tried, could anyone please tell me where i have gone wrong? thankyoU!!

function g = gseq(n)

%G(n) Calculates nth gseq number.

if n < 0

error('n is less than zero');

end

if n < 2

f = n;

n = 2

f = n-1;

else

%tmp is a temporary vecoter used to store the gseq numbers.

tmp(1) = 0;

tmp(2) = 1;

tmp(3) = 1;

for inum = 3:n

tmp(inum+1) = 3*tmp(inum) - tmp(inum-2) - tmp(inum-2);

end

g = tmp(n+1);

end