For with a 0.1 step

97 Ansichten (letzte 30 Tage)
Marc Sabaté
Marc Sabaté am 20 Mai 2019
Beantwortet: Star Strider am 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 Kommentar
Alexander Guth
Alexander Guth am 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

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Star Strider
Star Strider am 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

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by