8 svar
61 visningar
tapetklister är nöjd med hjälpen!
tapetklister 58
Postad: 9 apr 2019

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 1216
Postad: 9 apr 2019 Redigerad: 9 apr 2019

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 1
Postad: 9 apr 2019 Redigerad: 9 apr 2019

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 58
Postad: 9 apr 2019

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

woozah 1216
Postad: 9 apr 2019
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 58
Postad: 9 apr 2019
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 58
Postad: 9 apr 2019
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 Online 4089
Postad: 9 apr 2019

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 1216
Postad: 9 apr 2019
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 Avbryt
Close