> with(linalg):

Ruwan:=proc(N,T,d)
local H,i;
H:=[[1],[100],[0]];
for i from 2 to N
do
H:=[[op(H[1]),i],
[op(H[2]), ((1-((i-1)/T))*H[2][i-1]) ],
[op(H[3]),(((i-1)/T)*H[2][i-1] )+H[3][i-1] ]
];
od;
Digits:=d;
H:=evalf(H);
matrix(H);
end:

> Ruwan(14,12,7);

matrix([[1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 1...

> Ruwan(30,365,2);

matrix([[1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 1...