dwi
Posts:
15
Registered:
10/18/12
|
|
Re: sum of exponentials
Posted:
Nov 24, 2012 9:34 AM
|
|
"Roger Stafford" wrote in message <k8onag$2kt$1@newscl01ah.mathworks.com>... > "dwi" wrote in message <k8o3vo$ia$1@newscl01ah.mathworks.com>... > > A correction: > > x8=(x7*e^(-1))/e^(-1) > > ie without using x1,x2,x3 but only the immediate previous non-zero values > - - - - - - - - - > With the correction you made, here is my modified code: > > % An example: > x = [12,17,21,0,0,0,31,0,0]; > e = exp(1); % <-- I assume this is what 'e' is > > % The code: > a = 0; b = 1; f = 0; > for k = 1:length(x) > if x(k) ~= 0 > a = x(k) + a*f*e^(-1); > b = 1 + b*f*e^(-1); > f = 1; > else > x(k) = a/b; > f = 0; > end > end > > % The results: > > [(x(3)+x(2)*e^(-1)+x(1)*e^(-2))/(1+e^(-1)+e^(-2)); > x(4); > x(5); > x(6)] = > > 19.21081095724738 > 19.21081095724738 > 19.21081095724738 > 19.21081095724738 > > [x(7); > x(8); > x(9)] = > > 31 > 31 > 31 > > > Thank you for your answer but if I use this the index of the exponent never changes.I want it to decrease as k increases, and i don't know hot to calculate a sum like this. > > In the earlier thread where you said, "but if I use this the index of the exponent never changes", I don't know what you meant, but that code was doing just what you had asked for at that time. > > Roger Stafford
Ok, I understand now how this works. But still, you said the result will be x(3)+x(2)*e^(-1)+x(1)*e^(-2))/(1+e^(-1)+e^(-2)); while I want (x(3)*e^(-1)+x(2)*e^(-2)+x(1)*e^(-3))/(e^(-1)+e^(-2)+e^(-3)); Also, how would your code change if I had e^(-1/20), e^(-2/20), e^(-3/20) etc? Thank you for your time.This has been extremely helpful!
|
|