8 svar
262 visningar
tapetklister behöver inte mer hjälp
tapetklister 124 – Fd. Medlem
Postad: 9 apr 2019 20:21

Betygsystem i mathlab.

Hej, jag ska utföra följande:

En viss kurs kan ge betyg U, G, eller VG beroende på poängen på tentan. Gränsen

för G är 60% av maxpoängen och gränsen för VG är 80%. Skriv en funktion där input

är poängen man fick på tentan och tentans maxpoäng (dvs. två input-variabler), och

output-variabeln ger betyget som ett ord. Använd if-satser eller elseif-satser. Välj

själv vettiga namn på funktionen och variablerna.

Jag har kommit så här långt men de vill sig inte riktigt. 

woozah 1414 – Fd. Medlem
Postad: 9 apr 2019 20:38 Redigerad: 9 apr 2019 20:39

Länge sedan jag höll på med matlab, men rimligt vore väl om du skrev in tentaresultat(8,10) eftersom du nu bara har ett enda input. maxp är odefinierad och därför fungerar inte din x=p/maxp.

 

Dessutom har du väl missat ett <= eller < i din if-statement (första), nu har du bara x 0.8.

FreeCodeParty 7 – Fd. Medlem
Postad: 9 apr 2019 20:39 Redigerad: 9 apr 2019 20:40

Du anger bara 1 argument till funktionen. När du skriver tentaresultat(4/4) kommer 4/4 att beräknas och bli 1, vilket resulterar i tentaresultat(1). Testa att skriva tentaresultat(4, 4) istället.

tapetklister 124 – Fd. Medlem
Postad: 9 apr 2019 20:40

Hmm.. Vad ska jag göra för att x=p/maxp ska bli definerad?

woozah 1414 – Fd. Medlem
Postad: 9 apr 2019 20:44
tapetklister skrev:

Hmm.. Vad ska jag göra för att x=p/maxp ska bli definerad?

 

Använd tentaresultat(8,10) istället för tentaresultat(8/10). Om du skriver in 8/10 istället för (8,10) så har du helt i onödan använt x=p/maxp eftersom det är just det som din algoritm försöker göra.

tapetklister 124 – Fd. Medlem
Postad: 9 apr 2019 20:48
woozah skrev:

Länge sedan jag höll på med matlab, men rimligt vore väl om du skrev in tentaresultat(8,10) eftersom du nu bara har ett enda input. maxp är odefinierad och därför fungerar inte din x=p/maxp.

 

Dessutom har du väl missat ett <= eller < i din if-statement (första), nu har du bara x 0.8.

Du hade rätt där, saknades en <. Blev mycket godkänt ;)

tapetklister 124 – Fd. Medlem
Postad: 9 apr 2019 20:48
woozah skrev:
tapetklister skrev:

Hmm.. Vad ska jag göra för att x=p/maxp ska bli definerad?

 

Använd tentaresultat(8,10) istället för tentaresultat(8/10). Om du skriver in 8/10 istället för (8,10) så har du helt i onödan använt x=p/maxp eftersom det är just det som din algoritm försöker göra.

Tack så mycket för svaret, första dagen med programmet :) 

Albiki 5096 – Fd. Medlem
Postad: 9 apr 2019 20:56

Hej!

Borde du inte skriva funktionens namn (betyg) istället för "tentaresultat"? 

Funktionen "betyg" tar två indata, men du verkar bara ge den ett indata. Prova att skriva betyg(4,4) istället för betyg(4/4) så har du tillräckligt många indata. 

Sedan är det fel i koden på rad 5. Det ska stå

    if x>=0.6 && x<0.8

istället för

    if x>=0.6 && x 0.8

woozah 1414 – Fd. Medlem
Postad: 9 apr 2019 21:01
Albiki skrev:

Hej!

Borde du inte skriva funktionens namn (betyg) istället för "tentaresultat"? 

 

Antagligen heter filen tentaresultat.m (en matlab-fil) och då anropar han den filen genom att skriva tentaresultat(8,10). Eller?

Svara
Close