For with a 0.1 step

96 vues (au cours des 30 derniers jours)
Marc Sabaté
Marc Sabaté le 20 Mai 2019
Sorry for this post because I'm sure that is a really simple thing. I'm trying to compute a function between 1 to 10 with a step of 0.1 with a for loop. I wrote it like this:
for i=1:0.1:10;
theta=0;
betha=1/(1/(i+0.08*theta)-0.035/(1+theta^3));
Cp(i)=C1*(C2/betha-C3*betha*theta-C4*theta-C5)*exp(-C6/betha);
end
Matlab gives me the error: Array indices must be positive integers or logical values.
I understant that the problem here is how the index is the defined but I don't know how to solve it
  1 commentaire
Alexander Guth
Alexander Guth le 20 Mai 2019
Just let i be an an integer index and multiply it with your step size inside the loop like this:
i * 0.1

Connectez-vous pour commenter.

Réponse acceptée

Star Strider
Star Strider le 20 Mai 2019
Indices must be integers greater than 0, or logicals.
Try this:
i=1:0.1:10;
for k = 1:numel(i)
theta=0;
betha=1/(1/(i(k)+0.08*theta)-0.035/(1+theta^3));
Cp(k)=C1*(C2/betha-C3*betha*theta-C4*theta-C5)*exp(-C6/betha);
end

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements 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!

Translated by