Generated code that mulitples previous number

1 view (last 30 days)
Hello I want to compute a value assuming Xo = 1
using the formular X = e * (p) . ^ ( e - 1) * X
for first X = e * (p) . ^ ( e - 1) * Xo
Second X = e * (p) . ^ ( e - 1) * X1
Third X = e * (p).^(e - 1) * X2
fourth X = e * (p). ^ (e - 1) * X3
it can be simplified
X0 = 1
X1 = e * (p) . ^ ( e - 1) * Xo
X2 = e * (p) . ^ ( e - 1) * X1
X3 = e * (p) . ^ ( e - 1) * X2
X4 = e * (p) . ^ ( e - 1) * X3
Can anyone assist me in generating this code
Thanks in advance
Regards
Tino

Accepted Answer

Stephen23
Stephen23 on 30 May 2019
Edited: Stephen23 on 30 May 2019
I specified:
e = 1.2;
p = 2.3;
and then your code produces:
X0 =
1
X1 =
1.4175
X2 =
2.0093
X3 =
2.8483
X4 =
4.0375
Simpler MATLAB code using power:
>> (e*p.^(e-1)).^(0:4)
ans =
1 1.4175 2.0093 2.8483 4.0375
or cumprod (as Steven Lord suggested):
>> cumprod(e*p.^(e-1)*ones(1,4))
ans =
1.4175 2.0093 2.8483 4.0375
  7 Comments
Stephen23
Stephen23 on 30 May 2019
e = 1.2;
p = [3,4;5,6];
N = 5;
C = cell(1,N);
C{1} = 1;
for k = 2:N
C{k} = e*p.^(e-1) * C{k-1};
end
Giving:
>> C{:}
ans = 1
ans =
1.4949 1.5834
1.6557 1.7172
ans =
4.8563 5.0860
5.3181 5.5703
ans =
15.680 16.423
17.172 17.986
ans =
50.631 53.029
55.449 58.076

Sign in to comment.

More Answers (1)

Steven Lord
Steven Lord on 30 May 2019
Use the cumprod function. [Don't make individually numbered variables, store them as elements of one vector.]
  1 Comment
Tino
Tino on 30 May 2019
Thanks Steve
I have done this but not working
e = 0.92;
nnn = e * P.^(e - 1);
for j = 1 : kol
X{j} = cumprod(nnn);
end
But not working how do I go about it

Sign in to comment.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

Products


Release

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!