You could always write a recursive function, but I would much rather use the for loop as it is much simpler to understand, IMO, and probably faster too.
Start by defining an anonymous function:
myFun = @(x) 4.*x + sin(x);
And placing the following function in your path:
function [your_mat] = someFunction(n,myFun,start_val)
temp_val = start_val;
your_mat = recfun(n,temp_val);
function [temp_val] = recfun(n,temp_val)
if n == 0
temp_val = ;
temp_val = [temp_val myFun( recfun( n-1 , temp_val(end) ) ) ];
Where n is the number of evaluations and start_val is your starting value. And you could run it from the command line as follows:
your_mat = someFunction(10,myFun,5);
your_mat will be a matrix where every value is dependent on the previous one. Note that you would still need to modify the code to make it do exactly what you want.