Generated code that mulitples previous number
    2 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
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
0 commentaires
Réponse acceptée
  Stephen23
      
      
 le 30 Mai 2019
        
      Modifié(e) : Stephen23
      
      
 le 30 Mai 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 commentaires
  Stephen23
      
      
 le 30 Mai 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
Plus de réponses (1)
  Steven Lord
    
      
 le 30 Mai 2019
        Use the cumprod function. [Don't make individually numbered variables, store them as elements of one vector.]
Voir également
Catégories
				En savoir plus sur Subspace Methods dans Help Center et File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


