5 svar
47 visningar
dajamanté är nöjd med hjälpen!
dajamanté 5246
Postad: 21 mar 2019

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:

 

 

Dr. G 4403
Postad: 21 mar 2019

Prova detta:

if MinTemp < -10 | MaxTemp > 30

    disp('allvarligt fel')

end

Laguna 4988
Postad: 21 mar 2019

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.

dajamanté 5246
Postad: 21 mar 2019

Jo men jag vill också skriva ut temperaturen.

SeriousCephalopod 1782
Postad: 21 mar 2019 Redigerad: 21 mar 2019

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.

dajamanté 5246
Postad: 21 mar 2019

Okej, så det går inte att spara en eller variabel. Tack för alla svar ❤

Svara Avbryt
Close