Contenu principal

assessVariableEqual

Effectuer plusieurs vérifications de présence et d’égalité de variables

Description

assessVariableEqual(variableName,expectedValue) détermine si la variable variableName est présente, avec le même type de données, la même taille et la même valeur que la variable expectedValue. Si la variable expectedValue est numérique, l’égalité est déterminée avec les tolérances par défaut. Si expectedValue est un tableau, l’égalité est déterminée en appliquant la tolérance par défaut à chaque élément du tableau.

assessVariableEqual(variableName,expectedValue,Name,Value) utilise des options supplémentaires spécifiées par un ou plusieurs arguments de type Nom,Valeur.

Si la solution ne remplit pas les conditions du test d’évaluation, l’apprenant reçoit un message de commentaires dont le texte dépend de la condition non remplie. Vous pouvez également fournir des commentaires personnalisés supplémentaires avec des Feedback définis par des paires Nom,Valeur.

exemple

Exemples

réduire tout

Comparez la variable avgX de la soumission d’un apprenant à la variable avgX de la solution de référence. Les tolérances par défaut sont appliquées automatiquement.

assessVariableEqual('avgX',referenceVariables.avgX)

Si la variable avgX de l’apprenant est incorrecte, la solution échoue et l’apprenant reçoit les commentaires par défaut pour une valeur incorrecte :

Variable avgX has an incorrect value.

Comparez le tableau myArray=[1 1 4 4] de la soumission d’un apprenant au tableau myArray=[1 2 3 4] de la solution de référence. La soumission d’un apprenant est acceptée si les valeurs dans le tableau sont dans les limites de la tolérance d’erreur relative de 0,03 (3 %).

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

Dans ce cas, la tolérance n’est pas satisfaite, car les valeurs absolues des valeurs attendues moins les valeurs réelles [0 1 1 0] ne sont pas inférieures ou égales au produit absolu des valeurs attendues et de la tolérance relative : [0.03 0.06 0.09 0.12]. La fonction renvoie en retour le commentaire par défaut pour une valeur incorrecte.

Variable myArray has an incorrect value.

Comparez le tableau myArray=[1 1 4 4] de la soumission d’un apprenant au tableau myArray=[1 2 3 4] de la solution de référence. La soumission d’un apprenant est acceptée si les valeurs dans le tableau sont dans les limites de la tolérance d’erreur absolue de 1.

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

Dans ce cas, la tolérance est satisfaite, car les différences absolues entre les valeurs attendues et réelles sont toutes inférieures ou égales à la tolérance absolue correspondante.

Comparez la variable avgX de la soumission d’un apprenant à la variable avgX de la solution de référence. Si la variable de la soumission est incorrecte, fournissez des commentaires personnalisés supplémentaires pour guider l’apprenant.

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

Si la soumission de l’apprenant a une valeur incorrecte pour avgX, la solution échoue et l’apprenant reçoit les commentaires personnalisés en plus des commentaires par défaut.

Variable avgX has an incorrect value.

Refer to the Week 2 handout on Averages.

Arguments d'entrée

réduire tout

Nom de variable que l’apprenant est censé utiliser pour résoudre l’élément d’évaluation, spécifié en tant que caractère.

Exemple : ‘valeurApprenant'

La valeur correcte pour la variable utilisée dans la solution est spécifiée comme un des types de données supportés. Les structures, tables et cells contenant uniquement les types de données supportés sont également autorisées. Les types de données datetime, duration et calendarDuration ignorent le formatage appliqué.

Si vous avez créé une solution de référence, expectedValue peut également être une variable de la solution de référence avec la notation referenceVariables.variableName. Par exemple, assessVariableEqual('X',referenceVariables.X) compare la valeur de X dans la solution d’un apprenant à la valeur de X dans la solution de référence.

La solution est indiquée comme correcte si une variable avec le nom variableName existe et est du même type de données, de la même taille et de la même valeur que expectedValue. Si la solution ne remplit pas les conditions du test d’évaluation, l’apprenant reçoit un message de commentaires dont le texte exact dépend de la condition non remplie.

ConditionMessage

La variable n’existe pas dans la solution soumise.

La soumission doit contenir un nom de variable <varname>.

Type de données de variable incorrect. Il ne correspond pas au type de données de expectedValue.

La variable <varname> doit être du type de données : <correct_type>. Elle est actuellement de type <incorrect_type>. Vérifier à quel endroit une valeur est attribuée à la variable.

Taille de variable incorrecte. Elle ne correspond pas à la taille de expectedValue.

La variable <varname> doit être de taille : <correct_size>.
Elle est actuellement de taille <incorrect_size>. Vérifier à quel endroit une valeur est attribuée à la variable.

Valeur de variable incorrecte. Elle ne correspond pas à expectedValue.

La variable <varname> a une valeur incorrecte.

Remarque

Lors de la comparaison d’une variable dans la solution d’un apprenant à une autre variable, ces variables doivent avoir des noms différents. Par exemple, lors de la comparaison de avgX dans la solution d’un apprenant à avgX dans la solution de référence, vous formatez la variable de référence comme referenceVariables.avgX.

Si expectedValue est une variable qui n’est pas dans la solution de référence, utilisez un nom de variable différent de la variable de l’apprenant pour éviter de la comparer à elle-même. Par exemple :

assessVariableEqual('avgX',xSol)

Exemple : referenceVariables.xSol

Types de données : single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | categorical | datetime | duration | calendarDuration | sym

Arguments nom-valeur

réduire tout

Spécifiez des paires d’arguments facultatives comme Name1=Value1,...,NameN=ValueN, où Name est le nom de l’argument et Value est la valeur correspondante. Les arguments Nom-Valeur doivent apparaître après les autres arguments, mais l’ordre des paires n’a aucune importance.

Avant R2021a, utilisez des virgules pour séparer les noms des valeurs, et mettez Name entre guillemets.

Exemple : 'Commentaires','Se reporter à la vidéo de la semaine 1 Trouver le polynôme du deuxième degré'

La tolérance absolue est spécifiée comme une paire composée de ‘ToléranceAbsolue’ et d’un tableau numérique, séparée par une virgule. La tolérance est appliquée uniquement aux valeurs numériques du même type de données. La valeur peut être un scalaire ou un tableau de la même taille que expectedValue.

Par défaut, la tolérance absolue est 1e-4. Pour qu’une tolérance absolue soit satisfaite, la condition suivante doit être vraie :

abs(expected-actual) <= AbsoluteTolerance

Si aucune tolérance n’est spécifiée ou si une tolérance absolue et une tolérance relative sont toutes les deux spécifiées, la solution réussit si l’application de la tolérance absolue ou de la tolérance relative réussit le contrôle d’égalité.

La tolérance relative est ignorée si seule une tolérance absolue est spécifiée.

Exemple : 'ToléranceAbsolue',1.0

La tolérance relative est spécifiée comme une paire ‘ToléranceRelative’ et tableau numérique, séparée par une virgule. La tolérance est appliquée uniquement aux valeurs numériques du même type de données. La valeur peut être un scalaire ou un tableau de la même taille que expectedValue.

Par défaut, la tolérance relative est 0.001. Pour qu’une tolérance relative soit satisfaite, la condition suivante doit être vraie :

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

Si aucune tolérance n’est spécifiée ou si une tolérance absolue et une tolérance relative sont toutes les deux spécifiées, la solution réussit si l’application de la tolérance absolue ou de la tolérance relative réussit le contrôle d’égalité.

La tolérance absolue est ignorée si seule une tolérance relative est spécifiée.

Exemple : ’ToléranceRelative’,0.05

Commentaires supplémentaires à afficher pour l’apprenant si la solution est indiquée comme incorrecte, spécifiés comme une paire séparée par des virgules et composée de « Feedback » et d’un tableau de caractères. Utilisez les commentaires pour proposer aux apprenants des ressources qui les aideront à corriger leur code. Bien que vous ne puissiez pas savoir quelle condition n’est pas satisfaite, vous pouvez diriger l’apprenant vers une leçon particulière ou un document qui concerne le sujet.

Par exemple, supposons que le test d’évaluation inclut la paire Nom,Valeur Feedback :

'Feedback','See class resource for assigning variable values.'
Si la soumission de l’apprenant a une valeur incorrecte pour la variable comparée, la solution échoue et l’apprenant reçoit les commentaires personnalisés en plus des commentaires par défaut.

Variable myVariable has an incorrect value.

See class resource for assigning variable values.

Historique des versions

Introduit dans R2016a