I keep getting the error "subscript must either be real positive integers or logicals" even when I place an 'if' statement
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Jamil Dudhwala
am 20 Feb. 2019
Kommentiert: Star Strider
am 21 Feb. 2019
It seems I keep getting the error "subscript must either be real positive integers or logicals".
This must be because I have started of from i = 1, hence i - 1 = 0 and thats where the problem is. I thought that my ' if ' loop would have solved that issue, but it does not seem to be working.
Thank you,
My script is below:
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
0 Kommentare
Akzeptierte Antwort
Star Strider
am 20 Feb. 2019
‘I thought that my ' if ' loop would have solved that issue, but it does not seem to be working.’
It is working in the if block, but not afterwards.
The line that throws the error is:
%New car cabin temperature
Tin(i) = Tin(i-1)+deltaTin(i)
6 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Exception Handling 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!