assessVariableEqual
Mehrere Prüfungen zum Vorhandensein und zur Übereinstimmung von Variablen ausführen
Syntax
Beschreibung
assessVariableEqual(
ermittelt, ob die Variable variableName
,expectedValue
)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(
verwendet zusätzliche Optionen, die durch ein oder mehrere Name-Wert-Paar-Argumente angegeben werden.variableName
,expectedValue
,Name,Value
)
Wenn die Lösung die Bedingungen des Bewertungstests nicht besteht, 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
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, besteht die Lösung nicht 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, besteht die Lösung nicht 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
Der Name der Variable, den die Lernenden bei der Lösung des Bewertungselements 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 Lösung wird als korrekt markiert, wenn eine Variable namens variableName
existiert und Datentyp, Größe und Werte mit denen von expectedValue
übereinstimmen. Wenn die Lösung die Bedingungen des Bewertungstests nicht besteht, erhalten die Lernenden eine Feedback-Benachrichtigung, wobei sich der genaue Wortlaut der Benachrichtigung nach der Abweichung von der Bedingung richtet.
Bedingung | Benachrichtigung |
---|---|
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 | 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 | 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 | 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, besteht die Lösung den Test, 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, besteht die Lösung den Test, 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 Lösung als nicht korrekt markiert wird, und welches als kommagetrenntes Paar bestehend aus 'Feedback' und einem Zeichen-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 der Bewertungstest das Name-Wert-Paar Feedback
enthält:
'Feedback','See class resource for assigning variable values.'
Variable myVariable has an incorrect value
.
See class resource for assigning variable values
.
Versionsverlauf
Eingeführt in R2016a
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Website auswählen
Wählen Sie eine Website aus, um übersetzte Inhalte (sofern verfügbar) sowie lokale Veranstaltungen und Angebote anzuzeigen. Auf der Grundlage Ihres Standorts empfehlen wir Ihnen die folgende Auswahl: .
Sie können auch eine Website aus der folgenden Liste auswählen:
So erhalten Sie die bestmögliche Leistung auf der Website
Wählen Sie für die bestmögliche Website-Leistung die Website für China (auf Chinesisch oder Englisch). Andere landesspezifische Websites von MathWorks sind für Besuche von Ihrem Standort aus nicht optimiert.
Amerika
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)