Извините, что беспокою вас, ребята, но, похоже, я продолжаю получать сообщение об ошибке "индекс должен быть либо натуральным положительным целым числом, либо логикой".Это должно быть потому, что я начал с i = 1, следовательно, i - 1 = 0, и в этом проблема.Я думал, что мой цикл «если» продаст эту проблему, но, похоже, он не работает.Спасибо,
Мой скрипт ниже:
U=1
S = 1.7*1.2*ones(1, 10);
Tout = 5
ma = 1
ca = 2
DTM = 1
deltat = 1
index = 1:30;
%Prealloacate
SQAmb = zeros(numel(index), numel(S));
QAmb_Total = zeros(size(index));
deltaTin = zeros(size(index));
Tin = zeros(size(index));
%for loop
for i = index
if (i)==1
Tin(i) = 20
else
Tin(i) = Tin(i-1)+deltaTin(i)
end
SQAmb(i,:) = S*U*(Tout-Tin(i));
%Total Ambient Load in Array Form
QAmb_Total(i) = sum(SQAmb(i,:))
%change in air cabin temperature where deltat is timestep
deltaTin(i) = (QAmb_Total(i)/((ma*ca)+DTM))*(deltat)
%New car cabin temperature
Tin(i) = Tin(i-1)+deltaTin(i)
end