MATLAB: How to create a column vector where each element will be compounded amount by percentage of another vactor

creating column vector with compounding values

Hi, suppose that x=[.2 .3 .4]'; I need to create z=[1000 1000*(1+.2) 1000*(1+.2)(1+.3) 1000*(1+.2)(1+.3)(1+.4)]'. This is just an example. My original x variable has thousands of data. Anyone can help please? first value of z can be 1000 or any other arbitrary value.

Best Answer

You need to use the function cumprod. In your example:
x = [.2 .3 .4]';
z = 1000*[1; cumprod(1+x)];
This will give you what you need.