For with a 0.1 step
96 次查看(过去 30 天)
显示 更早的评论
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 个评论
Alexander Guth
2019-5-20
Just let i be an an integer index and multiply it with your step size inside the loop like this:
i * 0.1
采纳的回答
Star Strider
2019-5-20
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
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!