for loop adding numbers on left side of equal sign
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
bus14
le 3 Mai 2019
Commenté : KALYAN ACHARJYA
le 3 Mai 2019
Hi, I want to make a for loop which iterates the the values of my prob function. Ideally I want to the loop to do for [89-105] to give the sequence of pk(89)=prob(89) & pk(90)=prob(90) and so on. I already have the loop working that it gives the values of prob(k) in the correct sequence. However, I am unable to have the loop adding the values of i to be 89,90,91,92 and so. It must be a simple command but I cannot find it. Hope some can help me out.
pd= makedist('normal','mu',100,'sigma',10)
demand = [0:1:200];
prob = normpdf(demand,100,10);
for k=89:1:105;
pk(i)=prob(k)
i=k+1;
end
Furthermore, the error that I get running the code regarding the line pki)=prob(k) is [Subscript indices must either be real positive integers or logicals.]
Thankyou
0 commentaires
Réponse acceptée
KALYAN ACHARJYA
le 3 Mai 2019
Modifié(e) : KALYAN ACHARJYA
le 3 Mai 2019
for k=89:1:105;
pk(k)=prob(k)
end
Yes, you can get it pk(89) to pk(105)
but what about pk(1), pk(2),...might be zero. yes?
6 commentaires
KALYAN ACHARJYA
le 3 Mai 2019
Modifié(e) : KALYAN ACHARJYA
le 3 Mai 2019
Yes @madhan ravi, is the following correct way?
pk=zeros(size(prob));
Thanks
Plus de réponses (1)
bus14
le 3 Mai 2019
3 commentaires
KALYAN ACHARJYA
le 3 Mai 2019
pd=makedist('normal','mu',100,'sigma',10)
demand=[0:1:200];
prob=normpdf(demand,100,10);
prob(1:80)=0;
pk=zeros(size(prob));
for k=1:1:105;
pk(k)=prob(k);
fprintf('\n when k=%d, value of p(%d)=%.5f',k,k,pk(k));
end
Voir également
Catégories
En savoir plus sur Logical 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!