# Array indices must be positive integers or logical values. Error in (line 8) mr(t)=mi-(​(mi-mf)*(t​./tb));

1 view (last 30 days)
Chukwunememma Uponi on 29 Nov 2019
Answered: Image Analyst on 29 Nov 2019
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?

Stephan on 29 Nov 2019
Edited: Stephan on 29 Nov 2019
I doubt you want t to have only one point. Also no for loop is needed:
mi=2290000;
mf=130000;
tb=165;
t=linspace(6.5,165);
mr=mi-((mi-mf)*(t/tb));
plot(t,mr)

#### 1 Comment

Chukwunememma Uponi on 29 Nov 2019
thank you!

### More Answers (2)

Rafael Hernandez-Walls on 29 Nov 2019
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

#### 1 Comment

Chukwunememma Uponi on 29 Nov 2019
thank you!