MATLAB: Error ” Array indices must be positive integers or logical values.”

for loopMATLABtemperature distibution

This is the Question I am being asked to solve and this is the code I have so far…
T1 = 70; %deg F

T2 = 200; %deg F
W = 2; %ft



L = 2; %ft
x = 1; %ft
y = 1; %ft
for n=0:1.83:11
T(n)=(T2-T1)*(2/pi)*(2/n)*(sin(n*pi*x/L))*(sinh(n*pi*y/L))/sinh(n*pi*W/L)+T1;
end
I'm nor sure if my n for the for loop is correct since nmax is 11 and there needs to be six steps, but I keep getting an Error " Array indices must be positive integers or logical values."
Not sure how I can fix the Error.

Best Answer

  • You need to distinguish between the index of your variable in Matlab and the subscript in the mathematical sense.
    sub=___;%hint: look at linspace
    for n=1:numel(sub)
    T(n)=___