Könnt ihr meine Lösungen zu 2 MATLAB-Prüfungsaufgaben (Plot-Anpassung, bedingte Anweisung) überprüfen? Sie wurden als falsch bewertet, aber ich halte sie für korrekt.

2 vues (au cours des 30 derniers jours)
Hallo MATLAB-Community,
ich benötige eure Hilfe, um die Richtigkeit meiner Lösungen zu zwei MATLAB-Prüfungsaufgaben zu überprüfen. Obwohl ich überzeugt bin, dass meine Antworten korrekt sind, wurden sie in der Prüfung als falsch bewertet. Hier sind die Aufgabenstellungen und meine Lösungen:
Aufgabe 1: Plot-Anpassung
Aufgabenstellung:Erstellen Sie ein Diagramm mit zwei Plots. Formatieren Sie das Diagramm anhand folgender Vorgaben:
  • Darstellung Plot 1: Standardeinstellungen
  • Darstellung Plot 2: rot-gepunktete Quadrate
  • Titel des Diagramms: „Zwei Plots“
  • Länge X-Achse: -12 bis 12
  • Länge Y-Achse: -8 bis 8
  • Beschriftung X-Achse: Geschwindigkeit
  • Beschriftung Y-Achse: Zeit
  • Legende: Plot 1; Plot 2, Platzierung unten rechts
  • Darstellung von Gitterlinien im Diagramm
Meine Lösung:
figure
hold on
grid on
p1 = plot(x1, y1);
p2 = plot(x2, y2, ':r', 'Marker', 'square');
title('Zwei Plots')
xlim([-12, 12])
ylim([-8, 8])
xlabel('Geschwindigkeit')
ylabel('Zeit')
legend([p1, p2], {'Plot 1', 'Plot 2'}, 'Location', 'southeast')
Beanstandungen in der Bewertung:
  • Fehlen von 'hold off'
  • Verwendung von geschweiften Klammern '{}' und den Parametern 'Marker' und 'square'
Aufgabe 2: Bedingte Anweisung
Aufgabenstellung: Geben Sie die Syntax einer bedingten Ausführung ('if') an. Wenn die Bedingung (nehmen Sie eine beliebige Bedingung an) erfüllt ist, soll die Variable 'x' auf den Wert 18,9 gesetzt werden. Geben Sie die korrekte Syntax für MATLAB an.
Meine Lösung:
a = 1
if a
x = 18.9;
end
Beanstandungen in der Bewertung:
  • Es wurde eine spezifischere Bedingung wie if a == 1 erwartet.
Zusätzliche Informationen:
  • Für Aufgabe 1: Das Fehlen von 'hold off' beeinträchtigt die Funktionalität des Codes nicht, da keine weiteren Plots folgen sollen. Die geschweiften Klammern '{}' sind für Cell Arrays erforderlich, was in der MATLAB-Dokumentation beschrieben wird. Die Parameter 'Marker' und 'square' sind korrekt verwendet, um den zweiten Plot visuell vom ersten zu unterscheiden.
  • Für Aufgabe 2: In MATLAB ist 'if a' eine gültige Methode, um zu prüfen, ob a einen nicht-null Wert enthält.
Ich freue mich über eure Einschätzung und Rückmeldung. Vielen Dank!

Réponse acceptée

Harald
Harald le 24 Mai 2024
Hallo,
generell würde ich sagen, dass deine Codes korrekt sind, es aber teils schönere Lösungen gibt.
  • hold off würde ich immer setzen. Hier ist es zwar nicht notwendig, kann aber in anderen Fällen zu unschönen Effekten führen, wo es eben doch notwendig gewesen wäre.
  • Statt Cell Arrays von chars ist die neuere, modernere Lösung String Arrays, hier ["Plot 1", "Plot 2"]. Alternativ hätten 'Plot 1' und 'Plot 2' getrennt übergeben werden können.
  • Für Quadrate als Marker ist die einfachere Lösung ':rs'.
  • Eine Abfrage wie if a ~= 0 finde ich persönlich schöner / lesbarer.
Wenn es signifikante Abzüge gab, würde ich das Gespräch mit dem Aufgabensteller / Korrektor suchen.
Viele Grüße,
Harald
  1 commentaire
jan stoll
jan stoll le 24 Mai 2024
Hallo Harald,
vielen Dank für die schnelle Antwort und die wertvollen Tipps. Da ich in der Prüfung natürlich etwas unter Stress stand, sind mir einige der schöneren Lösungen nicht in den Sinn gekommen.
Nochmals vielen Dank für deine Unterstützung.
Viele Grüße
Jan

Connectez-vous pour commenter.

Plus de réponses (0)

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!