MATLAB: Index exceeds number of array elements (1)

errorindex

I continue to get the error "index exceeds number of array elements (1)" regarding the first line of this for loop,
Q_out2=dt*((A(T_night-T_out))/R);
I don't unerstand why because I am not trying to create a vector or matrix on either side. Help?
i=1;
for dt=1:n:7
Q_out2=dt*((A(T_night-T_out))/R);
dT=(Q_out2)/(ctm*mt);
T_current2(i)=T_night-dT;
if T_current2(i)<T_night
Q_furnace2=dt((A*(T_night-T_current2(i)))/R);
if Q_furnace2>30000
Q_furnace2=30000;
end
end
i=i+1;
end

Best Answer

We can't run your code because we don't have values of n, dt, A, and so on. But based on the information you provided, (T_night - T_out) produces a value that is not equal to 1 and your variable "A" only has 1 element.
Here's an example that reproduces the same error.
A = {42};
T_night = 10;
T_out = 2;
A(T_night-T_out)
% ERROR: Index exceeds array bounds.
If that doesn't solve your problem, you could provide the values of "A" and "T_night - T_out" to get more help.
Related Question