# Thread: Modeling Function Difficulty

1. ## Modeling Function Difficulty

Hello I'm doing a simplified model of a bouncing ball and I am having trouble getting my function DISTANCE to output values for a range of 0:N. I can make it output a single correct value, but not values of 0:N-1...0:0 etc. I have been stuck on this for HOURS. If someone could offer some input on this that would be spectacular.
My functions are defined as: H0=Initial Height, R=Rebound coefficient, and N=NUmber of bounces. Function HEIGHT finds the height after N bounces, and DISTANCE finds the total vertcial distance. I use (5, .4, [0:7]) to test.

function [HNN]=HEIGHT(H0, R, N)
HNN=H0.*R.^N;

function [TVD]=DISTANCE(H0, R, N)
[HNN]=HEIGHT(H0, R, N);
INITIAL=H0;
FINAL=HNN(length(HNN));
MIDDLE=HNN(1,2: (length(HNN)-1));
TVD=FINAL+INITIAL+sum(MIDDLE*2);

2. Originally Posted by scclebos
Hello I'm doing a simplified model of a bouncing ball and I am having trouble getting my function DISTANCE to output values for a range of 0:N. I can make it output a single correct value, but not values of 0:N-1...0:0 etc. I have been stuck on this for HOURS. If someone could offer some input on this that would be spectacular.
My functions are defined as: H0=Initial Height, R=Rebound coefficient, and N=NUmber of bounces. Function HEIGHT finds the height after N bounces, and DISTANCE finds the total vertcial distance. I use (5, .4, [0:7]) to test.

function [HNN]=HEIGHT(H0, R, N)
HNN=H0.*R.^N;

function [TVD]=DISTANCE(H0, R, N)
[HNN]=HEIGHT(H0, R, N);
INITIAL=H0;
FINAL=HNN(length(HNN));
MIDDLE=HNN(1,2: (length(HNN)-1));
TVD=FINAL+INITIAL+sum(MIDDLE*2);
Try:

Code:
function HNN=HEIGHT(H0, R, N)
HNN=H0.*R.^N;

function TVD=DISTANCE(H0, R, N)
[HNN]=HEIGHT(H0, R, N);
INITIAL=H0;
FINAL=HNN(length(HNN));
MIDDLE=HNN(2: (length(HNN)-1));
TVD=FINAL+INITIAL+2*sum(MIDDLE);

3. That did it. Thanks alot Captain! Now I can finish the rest of the program.