Array indices must be positive integers or logical values. Error in (line 8) mr(t)=mi-((mi-mf)*(t./tb));
1 次查看(过去 30 天)
显示 更早的评论
mi=2290000
mf=130000
tb=165
t= linspace(6.5,165,1);
mr(t)=mi-((mi-mf)*(t./tb));
mr=[]
for t=6.5:165;
mr(t)=mi-((mi-mf)*(t./tb));
end
I have no idea what's wrong with the for loop, and I don't see an error in line 8. Any help please?
0 个评论
采纳的回答
更多回答(2 个)
Rafael Hernandez-Walls
2019-11-29
Hi,
Yo have 2 errors. First you have the line when you define the vector time:
t=linspace(6.5,164,1) % You need to put the number of points (you have only one point)
You dont need to put mr(t), because t isnt integer and you need a integer (is a index of the vector). you need to put only this line
mr=mi-((mi-mf)*(t./tb));
You dont need the loop for
Rafael
Image Analyst
2019-11-29
You can't have the 6.5th element of an array. You can have the 6th or 7th but not the 6.5th. Your question is a FAQ, so read the FAQ on it, plus on several other common errors and other fascinating things.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!