Min max temperatur (dubbel if loop i matlab)
En till matlab problem!
Jag undrar om man inte kan verifiera båda villkor i en enda if-satsen?
Men isf, eftersom man måste verifiera minimala temperatur ELLER den maximala temperatur, hur kan vi skapa en variabel i insidan av if-satsen för att spara antigen den första eller den andra?
En possibel lösning:
Prova detta:
if MinTemp < -10 | MaxTemp > 30
disp('allvarligt fel')
end
Man kan göra en funktion som man sedan anropar två gånger:
checkTemp(MaxTemp);
checkTemp(MinTemp);
och då finns bara en if-sats, i funktionen.
Jo men jag vill också skriva ut temperaturen.
Om du vill ha olika utskrifter för olika fall så blir det oundvikligen flera if-satser på något vis.
Man kan naturligtvis få ner antalet if-satser genom att ha vaga utskrifter såsom
if (för högt eller för lågt)
disp: ERROR. Temperaturen varierar mellan (MaxTemp) och (MinTemp) vilket inte är acceptabelt
else
disp: Temperaturevariationen är acceptabel
Dvs skriv ut båda oavsett vilken av max och min som är källan till felet. Det möter specen men vore dålig design eftersom användaren ju då inte vet vilken som var problemet. Vill vi ha olika output beroende på vilken av max och min som var problemet (eller båda) så blir det oundvikligen en extra ifsats, dold eller synlig, såvitt jag ser det.
Okej, så det går inte att spara en eller variabel. Tack för alla svar ❤