Contenido principal

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

assessVariableEqual

Realizar múltiples comprobaciones de la presencia de una variable y su igualdad

Descripción

assessVariableEqual(variableName,expectedValue) determina si la variable variableName está presente, es del mismo tipo de datos, del mismo tamaño y del mismo valor o valores que la variable expectedValue. Si la variable expectedValue es numérica, la igualdad se determina utilizando las tolerancias predeterminadas. Si expectedValue es un arreglo, la igualdad se determina aplicando las tolerancias predeterminadas a cada elemento del arreglo.

assessVariableEqual(variableName,expectedValue,Name,Value) utiliza opciones adicionales especificadas por uno o más argumentos de par nombre-valor.

Si la solución suspende las condiciones de la prueba de evaluación, su estudiante recibe un mensaje de comentario con texto según la condición del error de coincidencia. También puede proporcionar comentarios adicionales personalizados con el par nombre-valor de Feedback.

ejemplo

Ejemplos

contraer todo

Compare la variable avgX del intento de su estudiante con la variable avgX de la solución de referencia. Las tolerancias predeterminadas se aplican automáticamente.

assessVariableEqual('avgX',referenceVariables.avgX)

Si la variable avgX de su estudiante es incorrecta, la solución está suspensa y su estudiante recibe el comentario predeterminado para un valor incorrecto:

Variable avgX has an incorrect value.

Compare el arreglo myArray=[1 1 4 4] del intento de su estudiante con el arreglo myArray=[1 2 3 4] de la solución de referencia. Se acepta el intento de su estudiante si los valores del arreglo están dentro de una tolerancia de error relativa de 0,03 (3%).

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

En este caso, la tolerancia no se satisface porque el valor absoluto de los valores esperados menos los valores reales [0 1 1 0] no son iguales a o menores que el producto absoluto de los valores esperados y que la tolerancia relativa: [0.03 0.06 0.09 0.12]. La función devuelve el mensaje predeterminado con el comentario para un valor incorrecto.

Variable myArray has an incorrect value.

Compare el arreglo myArray=[1 1 4 4] del intento de su estudiante con el arreglo myArray=[1 2 3 4] de la solución de referencia. Se acepta el intento de su estudiante si los valores del arreglo están dentro de una tolerancia de error absoluta de 1.

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

En este caso, la tolerancia se satisface porque la diferencia absoluta entre los valores esperados y reales son todos menores que o iguales a la tolerancia absoluta correspondiente.

Compare la variable avgX del intento de su estudiante con la variable avgX de la solución de referencia. Si la variable del intento es incorrecta, proporcione un comentario adicional personalizado para guiar a su estudiante.

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

Si el intento de su estudiante tiene un valor incorrecto para avgX, la solución está suspensa y su estudiante recibe un comentario personalizado adicional junto con el comentario predeterminado.

Variable avgX has an incorrect value.

Refer to the Week 2 handout on Averages.

Argumentos de entrada

contraer todo

El nombre de la variable que su estudiante debe usar para resolver la evaluación, especificado como un char.

Ejemplo: 'learnerValue'

El valor correcto para la variable utilizada en la solución, especificado como cualquiera de los tipos de datos admitidos. Las estructuras, tablas y celdas que contengan solo los tipos de datos admitidos también están permitidas. Los tipos de datos como fecha/hora, duración y duración/calendario ignoran cualquier tipo de formato aplicado.

Si ha creado una solución de referencia, expectedValue también puede ser una variable en la solución de referencia utilizando la notación referenceVariables.variableName. Por ejemplo, assessVariableEqual('X',referenceVariables.X) compara el valor de X en la solución de su estudiante con el valor de X en la solución de referencia.

La solución se marca como correcta si existe una variable con el nombre variableName y es del mismo tipo de datos, tamaño y valor que expectedValue. Si la solución suspende las condiciones de la prueba de evaluación, su estudiante recibe un mensaje de comentario, cuyo contenido exacto depende de la condición del error de coincidencia.

CondiciónMensaje

La variable no existe en la solución enviada.

El intento debe contener un nombre de variable <varname>.

Tipo de datos de variable incorrecto. No coincide con el tipo de datos de expectedValue.

La variable <varname> debe ser del tipo de datos: <correct_type>. Actualmente es de <incorrect_type>. Compruebe dónde se asigna un valor a la variable.

Tamaño de variable incorrecto. No coincide con el tamaño de expectedValue.

La variable <varname> debe ser del tamaño: <correct_size>.
Actualmente es del tamaño <incorrect_size>. Compruebe dónde se asigna un valor a la variable.

Valor de variable incorrecto. No coincide con expectedValue.

La variable <varname> tiene un valor incorrecto.

Nota

Cuando se compara una variable en la solución de su estudiante con otra variable, esas variables deben tener nombres distintos. Por ejemplo, cuando compara avgX en la solución de su estudiante con avgX en la solución de referencia, establece el formato de la variable de referencia como referenceVariables.avgX.

Si expectedValue es una variable que no está en la solución de referencia, utilice un nombre de variable que sea diferente del de la variable de su estudiante para evitar que se compare consigo misma. Por ejemplo:

assessVariableEqual('avgX',xSol)

Ejemplo: referenceVariables.xSol

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

Argumentos de par nombre-valor

contraer todo

Especifique pares de argumentos opcionales como Name1=Value1,...,NameN=ValueN, donde Name es el nombre del argumento y Value es el valor correspondiente. Los argumentos nombre-valor deben aparecer después de otros argumentos, pero el orden de los pares no importa.

En versiones anteriores a R2021a, utilice comas para separar cada nombre y valor, y encierre Name entre comillas.

Ejemplo: 'Feedback','Consulte el vídeo de la semana 1 sobre cómo hallar el polinomio cuadrático'

Tolerancia absoluta, especificada como un par separado por comas que consta de 'AbsoluteTolerance' y un arreglo numérico. La tolerancia se aplica solo a valores numéricos del mismo tipo de datos. El valor puede ser un escalar o un arreglo del mismo tamaño que expectedValue.

De forma predeterminada, la tolerancia absoluta es 1e-4. Para satisfacer una tolerancia absoluta, la siguiente condición debe ser verdad:

abs(expected-actual) <= AbsoluteTolerance

Si no se especifica la tolerancia o si se especifican las tolerancias absolutas y relativas, la solución está superada si la aplicación de la tolerancia absoluta o de la tolerancia relativa supera la prueba de igualdad.

La tolerancia relativa se ignora cuando se especifica solo la tolerancia absoluta.

Ejemplo: 'AbsoluteTolerance',1.0

Tolerancia relativa, especificada como el par separado por comas que consta de 'RelativeTolerance' y un arreglo numérico. La tolerancia se aplica solo a valores numéricos del mismo tipo de datos. El valor puede ser un escalar o un arreglo del mismo tamaño que expectedValue.

De forma predeterminada, la tolerancia relativa es 0.001. Para satisfacer una tolerancia relativa, la siguiente condición debe ser verdad:

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

Si no se especifica la tolerancia o si se especifican las tolerancias absolutas y relativas, la solución está superada si la aplicación de la tolerancia absoluta o de la tolerancia relativa supera la prueba de igualdad.

La tolerancia absoluta se ignora cuando se especifica solo la tolerancia relativa.

Ejemplo: 'RelativeTolerance',0.05

Comentario adicional que desea mostrar a su estudiante si la solución está marcada como incorrecta, especificado como el par separado por comas que consta de 'Feedback' y un arreglo de caracteres. Utilice los comentarios para proporcionar recursos a sus estudiantes con los que puedan hacer correcciones en su código. Aunque no pueda saber qué condición no fue satisfecha, puede dirigir a su estudiante a una lección en particular o a una lectura que cubra el material.

Por ejemplo, suponga que la prueba de evaluación incluye el par nombre-valor de Feedback:

'Feedback','See class resource for assigning variable values.'
Cuando el intento de su estudiante tiene un valor incorrecto para la variable que se está comparando, la solución está suspensa y su estudiante recibe el comentario personalizado adicional junto con el comentario predeterminado.

Variable myVariable has an incorrect value.

See class resource for assigning variable values.

Historial de versiones

Introducido en R2016a