- #1
- 4
- 0
Hi,
I am having trouble understanding how this works.
I am giving the following:
y[k+2] - y[k+1] + 0.24y[k] = f[k+2] - 2f[k+1];
y[-2] = 1, y[-1] = 2;
f[k] = 0 for k < 0;
f[k] = k for k >= 0;
I would like to have a program compute the next values in the sequence, so, I need y[-2] = 1 to become y[1] = 1 and y[-1] = 2 to become y[2] = 1 (so that the array indexing works, e.g., I can access a negative location of an array).
I let k' = k + 1 so that I'd get:
y[k'+3] - y[k'+2] + 0.24y[k'+1] = f[k'+3] - 2f[k'+1];
Then I made:
f[k] = 0 for k < 0;
f[k] = k for k >= 0;
become
f[k'] = 0 for k' < 3;
f[k'] = k for k' >= 3;
and
y[-2] = 1, y[-1] = 2;
become
y[1] = 1, y[2] = 2;
So now I have:
y[k'+3] - y[k'+2] + 0.24y[k'+1] = f[k'+3] - 2f[k'+1];
f[k'] = 0 for k' < 3;
f[k'] = k for k' >= 3;
y[1] = 1, y[2] = 2;
And now when I let k = 0, k[3] gives me the value that k[0] gave me in the old equation, which is exactly what I want.
My issue is, I don't understand how, mathematically, this works. For example, I don't understand how I went from:
f[k] = 0 for k < 0;
f[k] = k for k >= 0;
to
f[k'] = 0 for k' < 3;
f[k'] = k for k' >= 3;
if k' = k + 1.
It seems as though I've shifted the equation (y[k+2] - y[k+1] + 0.24y[k] = f[k+2] - 2f[k+1];) over by 1 unit in the positive x direction; however, I've shifted the initial values (y[-2] = 1, y[-1] = 2;) and the f's restrictions (k < 0; and k >= 0) over by 3 units.
What I'm thinking is:
The original question should be:
f[k'] = 0 for k < k[0];
f[k'] = k for k' >= k[0];
y[k[0]-2] = 1, y[k[0]-1] = 2;
What would be the correct, more formal approach to achieving what I want. Also, should the original question be as I've written above?
I'm pretty sure that the equation, as it's give, only produces the 'correct' answer, when k[0] = -2.
Thank you for your time, I realize that this question is rather lengthy.
I am having trouble understanding how this works.
I am giving the following:
y[k+2] - y[k+1] + 0.24y[k] = f[k+2] - 2f[k+1];
y[-2] = 1, y[-1] = 2;
f[k] = 0 for k < 0;
f[k] = k for k >= 0;
I would like to have a program compute the next values in the sequence, so, I need y[-2] = 1 to become y[1] = 1 and y[-1] = 2 to become y[2] = 1 (so that the array indexing works, e.g., I can access a negative location of an array).
I let k' = k + 1 so that I'd get:
y[k'+3] - y[k'+2] + 0.24y[k'+1] = f[k'+3] - 2f[k'+1];
Then I made:
f[k] = 0 for k < 0;
f[k] = k for k >= 0;
become
f[k'] = 0 for k' < 3;
f[k'] = k for k' >= 3;
and
y[-2] = 1, y[-1] = 2;
become
y[1] = 1, y[2] = 2;
So now I have:
y[k'+3] - y[k'+2] + 0.24y[k'+1] = f[k'+3] - 2f[k'+1];
f[k'] = 0 for k' < 3;
f[k'] = k for k' >= 3;
y[1] = 1, y[2] = 2;
And now when I let k = 0, k[3] gives me the value that k[0] gave me in the old equation, which is exactly what I want.
My issue is, I don't understand how, mathematically, this works. For example, I don't understand how I went from:
f[k] = 0 for k < 0;
f[k] = k for k >= 0;
to
f[k'] = 0 for k' < 3;
f[k'] = k for k' >= 3;
if k' = k + 1.
It seems as though I've shifted the equation (y[k+2] - y[k+1] + 0.24y[k] = f[k+2] - 2f[k+1];) over by 1 unit in the positive x direction; however, I've shifted the initial values (y[-2] = 1, y[-1] = 2;) and the f's restrictions (k < 0; and k >= 0) over by 3 units.
What I'm thinking is:
The original question should be:
f[k'] = 0 for k < k[0];
f[k'] = k for k' >= k[0];
y[k[0]-2] = 1, y[k[0]-1] = 2;
What would be the correct, more formal approach to achieving what I want. Also, should the original question be as I've written above?
I'm pretty sure that the equation, as it's give, only produces the 'correct' answer, when k[0] = -2.
Thank you for your time, I realize that this question is rather lengthy.
Last edited: