Main Content

Die Übersetzung dieser Seite ist veraltet. Klicken Sie hier, um die neueste Version auf Englisch zu sehen.

assessVariableEqual

Mehrere Prüfungen zum Vorhandensein und zur Übereinstimmung von Variablen ausführen

Beschreibung

Beispiel

assessVariableEqual(variableName,expectedValue) ermittelt, ob die Variable variableName enthalten ist und ob sie den gleichen Datentyp, die gleiche Größe und den gleichen Wert bzw. Werte wie die Variable expectedValue aufweist. Wenn die Variable expectedValue numerisch ist, wird die Übereinstimmung mithilfe der Standardtoleranzen ermittelt. Wenn expectedValue ein Array ist, wird die Übereinstimmung ermittelt, indem die Standardtoleranzen auf jedes Element des Arrays angewendet werden.

assessVariableEqual(variableName,expectedValue,Name,Value) verwendet zusätzliche Optionen, die durch ein oder mehrere Name-Wert-Paar-Argumente angegeben werden.

Wenn die Bewertung nicht erfolgreich ist, erhalten die Lernenden eine Feedback-Benachrichtigung, wobei sich der Text nach der Abweichung von der Bedingung richtet. Sie können auch zusätzliches, personalisiertes Feedback mit dem Name-Wert-Paar Feedback geben.

Beispiele

alle reduzieren

Vergleichen Sie die Variable avgX der eingereichten Lösung der Lernenden mit der Variable avgX der Referenzlösung. Die Standardtoleranzen werden automatisch angewendet.

assessVariableEqual('avgX',referenceVariables.avgX);

Wenn die Variable avgX der Lernenden nicht korrekt ist, ist die Prüfung nicht bestanden und die Lernenden erhalten das standardmäßige Feedback für einen nicht korrekten Wert:

Variable avgX has an incorrect value.

Vergleichen Sie das Array myArray=[1 1 4 4] der eingereichten Lösung der Lernenden mit dem Array myArray=[1 2 3 4] der Referenzlösung. Die von den Lernenden eingereichte Lösung wird akzeptiert, wenn die Werte im Array innerhalb einer relativen Fehlertoleranz von 0,03 (3%) liegen.

assessVariableEqual('myArray', referenceVariables.myArray,'RelativeTolerance',0.03)

In diesem Fall wird die Toleranz nicht eingehalten, da der absolute Wert der erwarteten Werte abzüglich der tatsächlichen Werte [0 1 1 0] nicht kleiner oder gleich dem entsprechenden absoluten Produkt der erwarteten Werte und der relativen Toleranz ist: [0.03 0.06 0.09 0.12]. Die Funktion gibt die standardmäßige Feedback-Benachrichtigung für einen nicht korrekten Wert aus.

Variable myArray has an incorrect value.

Vergleichen Sie das Array myArray=[1 1 4 4] der eingereichten Lösung der Lernenden mit dem Array myArray=[1 2 3 4] der Referenzlösung. Die von den Lernenden eingereichte Lösung wird akzeptiert, wenn die Werte im Array innerhalb einer absoluten Fehlertoleranz von 1 liegen.

assessVariableEqual('myArray', referenceVariables.myArray,'AbsoluteTolerance',1)

In diesem Fall wird die Toleranz eingehalten, da die absolute Differenz zwischen den erwarteten Werten und den tatsächlichen Werten kleiner oder gleich der entsprechenden absoluten Toleranz ist.

Vergleichen Sie die Variable avgX der eingereichten Lösung der Lernenden mit der Variable avgX der Referenzlösung. Wenn die Variable der eingereichten Lösung nicht korrekt ist, können Sie den Lernenden zusätzliches, personalisiertes Feedback zur Hilfestellung geben.

assessVariableEqual('avgX',referenceVariables.avgX,'Feedback','Refer to the Week 2 handout on Averages.')

Wenn die von den Lernenden eingereichte Lösung einen nicht korrekten Wert für avgX aufweist, ist die Prüfung nicht bestanden und die Lernenden erhalten neben dem standardmäßigen Feedback zusätzliches, personalisiertes Feedback.

Variable avgX has an incorrect value.

Refer to the Week 2 handout on Averages.

Eingabeargumente

alle reduzieren

Der Name der Variable, den die Lernenden bei der Lösung der Problemstellung verwenden sollen, angegeben als char.

Beispiel: 'learnerValue'

Der korrekte Wert für die in der Lösung verwendeten Variablen, angeben als einer der unterstützten Datentypen. Strukturen, Tabellen und Zellen, die nur die unterstützten Datentypen enthalten, sind ebenfalls zulässig. Die Datentypen „datetime“, „duration“ und „calendarDuration“ berücksichtigen etwaige angewandte Formatierung nicht.

Wenn Sie eine Referenzlösung erstellt haben, kann expectedValue ebenfalls eine Variable in der Referenzlösung sein, wenn Sie die Schreibweise referenceVariables.variableName verwenden. Zum Beispiel vergleicht assessVariableEqual('X',referenceVariables.X) den Wert für X in der Lösung der Lernenden mit dem Wert von X in der Referenzlösung.

Die Prüfung wird als korrekt markiert, wenn eine Variable namens variableName existiert und der Datentyp, die Größe und Werte gleich sind wie expectedValue. Wenn die Prüfung nicht erfolgreich ist, erhalten die Lernenden eine Feedback-Benachrichtigung, wobei sich die genaue Benachrichtigung nach der Abweichung von der Bedingung richtet.

BedingungBenachrichtigung

Variable existiert nicht in der eingereichten Lösung.

Die eingereichte Lösung muss einen Variablennamen <varname> enthalten.

Nicht korrekter Datentyp der Variablen. Stimmt nicht mit dem Datentyp von expectedValue überein.

Variable <varname> muss den Datentyp <correct_type> aufweisen. Aktuell ist er <incorrect_type>. Überprüfen Sie, wo der Variablen ein Wert zugewiesen wird.

Nicht korrekte Größe der Variablen. Stimmt nicht mit der Größe von expectedValue überein.

Variable <varname> muss die Größe <incorrect_size> aufweisen.
Aktuell ist die Größe <correct_size>. Überprüfen Sie, wo der Variablen ein Wert zugewiesen wird.

Nicht korrekter Wert der Variablen. Stimmt nicht mit expectedValue überein.

Die Variable <varname> weist einen nicht korrekten Wert auf.

Hinweis

Beim Vergleichen der Variable in der Lösung der Lernenden mit einer anderen Variable müssen die Namen der Variablen unterschiedlich sein. Wenn zum Beispiel avgX in der Lösung der Lernenden mit avgX in der Referenzlösung verglichen wird, formatieren Sie die Variable als referenceVariables.avgX.

Wenn expectedValue eine Variable ist, die nicht in der Referenzlösung enthalten ist, verwenden Sie einen anderen Namen für diese Variable als den der Variable der Lernenden, damit diese nicht mit sich selbst verglichen wird. Beispiel:

assessVariableEqual('avgX',xSol)

Beispiel: referenceVariables.xSol

Datentypen: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | categorical | datetime | duration | calendarDuration | sym

Name-Wert-Argumente

Geben Sie optional Paare von Argumenten als Name1=Value1,...,NameN=ValueN an, wobei Name der Argument-Name und Value der dazugehörige Wert ist. Name-Wert-Argumente müssen nach anderen Argumenten folgen, die Reihenfolge der Paare ist jedoch nicht entscheidend.

Bei Versionen vor R2021a trennen Sie die einzelnen Namen und Werte durch Kommata und setzen Sie Name in Anführungszeichen.

Beispiel: 'Feedback',„Siehe Video aus Woche 1 zum Ermitteln des quadratischen Polynoms“

Absolute Toleranz, die als kommagetrenntes Paar bestehend aus 'AbsoluteTolerance' und einem numerischen Wert angegeben ist. Die Toleranz gilt nur für numerische Werte desselben Datentyps. Der Wert kann ein Skalar oder Array derselben Größe wie expectedValue sein.

Standardmäßig beträgt die absolute Toleranz 1e-4. Damit eine absolute Toleranz erfüllt wird, muss folgende Bedingung zutreffen:

abs(expected-actual) <= AbsoluteTolerance

Wenn keine Toleranz angegeben ist oder wenn sowohl die absolute als auch die relative Toleranz angegeben ist, gilt der Test als bestanden, wenn bei der Anwendung entweder der absoluten oder der relativen Toleranz die Prüfung auf Übereinstimmung erfolgreich ist.

Die relative Toleranz wird nicht berücksichtigt, wenn nur die absolute Toleranz angegeben ist.

Beispiel: ’AbsoluteTolerance’,1.0

Absolute Toleranz, die als kommagetrenntes Paar bestehend aus 'AbsoluteTolerance' und einem numerischen Wert angegeben ist. Die Toleranz gilt nur für numerische Werte desselben Datentyps. Der Wert kann ein Skalar oder Array derselben Größe wie expectedValue sein.

Standardmäßig beträgt die relative Toleranz 0.001. Damit eine relative Toleranz erfüllt wird, muss folgende Bedingung zutreffen:

abs(expected-actual) <= RelativeTolerance.*abs(expected)

Wenn keine Toleranz angegeben ist oder wenn sowohl die absolute als auch die relative Toleranz angegeben ist, gilt der Test als bestanden, wenn bei der Anwendung entweder der absoluten oder der relativen Toleranz die Prüfung auf Übereinstimmung erfolgreich ist.

Die absolute Toleranz wird nicht berücksichtigt, wenn nur die relative Toleranz angegeben ist.

Beispiel: ’RelativeTolerance’,0.05

Zusätzliches Feedback, das den Lernenden angezeigt wird, wenn die Prüfung als nicht korrekt markiert wird, und welches als kommagetrenntes Paar bestehend aus 'Feedback' und einem Character Array angegeben ist. Das Feedback soll dazu dienen, den Lernenden Ressourcen zur Verfügung zu stellen, mit denen sie ihren Code korrigieren können. Auch wenn nicht bekannt ist, welche Bedingung nicht erfüllt wurde, können Sie die Lernenden auf eine bestimmte Lektion oder Lektüre verweisen, die das Thema behandelt.

Nehmen wir beispielsweise an, dass die Bewertung das Name-Wert-Paar Feedback enthält:

'Feedback','See class resource for assigning variable values.'
Wenn die von den Lernenden eingereichte Lösung einen nicht korrekten Wert für die zu vergleichende Variable aufweist, ist die Prüfung nicht bestanden und die Lernenden erhalten neben dem standardmäßigen Feedback zusätzliches, personalisiertes Feedback.

Variable myVariable has an incorrect value.

See class resource for assigning variable values.

Versionsverlauf

Eingeführt in R2016a