Ошибка Matlab «индексы индекса должны быть либо натуральными положительными целыми числами, либо логическими», даже если у меня есть инструкция if - PullRequest
0 голосов
/ 20 февраля 2019

Извините, что беспокою вас, ребята, но, похоже, я продолжаю получать сообщение об ошибке "индекс должен быть либо натуральным положительным целым числом, либо логикой".Это должно быть потому, что я начал с 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...