How to solve the "Subscript indices must either be real positive integers or logicals." error.

14 Ansichten (letzte 30 Tage)
Hi, guys.
First of all, I am trying to solve a heat transfer problem with the finite volume method, but I don't know where am I failing in, and how to solve it.
Thank you all!
%unidimensional heat transfer
Ts=50;
i=6;
s=100;
T=zeros(i);
alfa=6.82*10^-6;
x=[1 2 3 4 5 6];
L=1;
dt=0.01;
for t=1:s
Tc=(2*Ts-T(1));
Tf=(2*Ts-T(6));
T(1)=alfa*dt((1/alfa*t*dt)*T(1)+(1/alfa*t*dt)*T(1)-(2/alfa*(L/6))*T(1)+(1/alfa*(L/6))*T(2)+(1/alfa*(L/6))*Tc);
T(2)=alfa*dt((1/alfa*t*dt)*T(2)+(1/alfa*t*dt)*T(2)-(2/alfa*(L/6))*T(2)+(1/alfa*(L/6))*T(3)+(1/alfa*(L/6))*T(1));
T(3)=alfa*dt((1/alfa*t*dt)*T(3)+(1/alfa*t*dt)*T(3)-(2/alfa*(L/6))*T(3)+(1/alfa*(L/6))*T(4)+(1/alfa*(L/6))*T(2));
T(4)=alfa*dt((1/alfa*t*dt)*T(4)+(1/alfa*t*dt)*T(4)-(2/alfa*(L/6))*T(4)+(1/alfa*(L/6))*T(5)+(1/alfa*(L/6))*T(3));
T(5)=alfa*dt((1/alfa*t*dt)*T(5)+(1/alfa*t*dt)*T(5)-(2/alfa*(L/6))*T(5)+(1/alfa*(L/6))*T(6)+(1/alfa*(L/6))*T(4));
T(6)=alfa*dt((1/alfa*t*dt)*T(6)+(1/alfa*t*dt)*T(6)-(2/alfa*(L/6))*T(6)+(1/alfa*(L/6))*Tf+(1/alfa*(L/6))*T(5));
end
plot(x,T);

Antworten (1)

Shunichi Kusano
Shunichi Kusano am 11 Sep. 2019
Hi Naiara,
The error occurs, since you use "dt" as an array, though it is a scalar. The problem is the first "dt" of each sentence in the following codes.
T(1)=alfa*dt((1/alfa*t*dt)*T(1)+(1/alfa*t*dt)*T(1)-(2/alfa*(L/6))*T(1)+(1/alfa*(L/6))*T(2)+(1/alfa*(L/6))*Tc);
T(2)=alfa*dt((1/alfa*t*dt)*T(2)+(1/alfa*t*dt)*T(2)-(2/alfa*(L/6))*T(2)+(1/alfa*(L/6))*T(3)+(1/alfa*(L/6))*T(1));
T(3)=alfa*dt((1/alfa*t*dt)*T(3)+(1/alfa*t*dt)*T(3)-(2/alfa*(L/6))*T(3)+(1/alfa*(L/6))*T(4)+(1/alfa*(L/6))*T(2));
T(4)=alfa*dt((1/alfa*t*dt)*T(4)+(1/alfa*t*dt)*T(4)-(2/alfa*(L/6))*T(4)+(1/alfa*(L/6))*T(5)+(1/alfa*(L/6))*T(3));
T(5)=alfa*dt((1/alfa*t*dt)*T(5)+(1/alfa*t*dt)*T(5)-(2/alfa*(L/6))*T(5)+(1/alfa*(L/6))*T(6)+(1/alfa*(L/6))*T(4));
T(6)=alfa*dt((1/alfa*t*dt)*T(6)+(1/alfa*t*dt)*T(6)-(2/alfa*(L/6))*T(6)+(1/alfa*(L/6))*Tf+(1/alfa*(L/6))*T(5));

Kategorien

Mehr zu Thermal Analysis finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by