5 svar
204 visningar
dajamanté behöver inte mer hjälp
dajamanté 5139 – Fd. Medlem
Postad: 21 mar 2019 06:57

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 9479
Postad: 21 mar 2019 07:08

Prova detta:

if MinTemp < -10 | MaxTemp > 30

    disp('allvarligt fel')

end

Laguna Online 30455
Postad: 21 mar 2019 07:10

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é 5139 – Fd. Medlem
Postad: 21 mar 2019 12:24

Jo men jag vill också skriva ut temperaturen.

SeriousCephalopod 2696
Postad: 21 mar 2019 12:46 Redigerad: 21 mar 2019 13:06

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é 5139 – Fd. Medlem
Postad: 21 mar 2019 20:01

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

Svara
Close