Main Content

La traduzione di questa pagina non è aggiornata. Fai clic qui per vedere l'ultima versione in inglese.

assessVariableEqual

Eseguire più controlli per la presenza e l'uguaglianza delle variabili

Descrizione

esempio

assessVariableEqual(variableName,expectedValue) determina se la variabile variableName è presente, ha lo stesso tipo di dati, la stessa dimensione e lo stesso valore o valori della variabile expectedValue. Se la variabile expectedValue è numerica, l'uguaglianza è determinata utilizzando le tolleranze predefinite. Se expectedValue è un array, l'uguaglianza è determinata applicando le tolleranze predefinite a ciascun elemento dell’array.

assessVariableEqual(variableName,expectedValue,Name,Value) utilizza ulteriori opzioni specificate da uno o più argomenti della coppia Nome,Valore.

Se la valutazione non viene superata, lo studente riceve un messaggio di feedback il cui testo dipende dalla condizione di mancata corrispondenza. È inoltre possibile fornire un ulteriore feedback personalizzato con il Feedback per la coppia Nome,Valore.

Esempi

comprimi tutto

Confrontare la variabile avgX della presentazione dello studente con la variabile della soluzione di riferimento avgX. Le tolleranze predefinite vengono applicate automaticamente.

assessVariableEqual('avgX',referenceVariables.avgX);

Se la variabile avgX dello studente non è corretta, il test non viene superato e lo studente riceve il feedback predefinito per un valore errato:

Variable avgX has an incorrect value.

Confrontare l’array myArray=[1 1 4 4] della presentazione dello studente con l’array della soluzione di riferimento myArray=[1 2 3 4]. La presentazione dello studente è accettata se i valori nell'array rientrano in una tolleranza di errore relativo di 0,03 (3%).

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

In questo caso, la tolleranza non è soddisfatta poiché i valori assoluti dei valori previsti meno i valori reali [0 1 1 0] non sono uguali o inferiori al prodotto assoluto corrispondente dei valori previsti e della tolleranza relativa: [0.03 0.06 0.09 0.12]. La funzione restituisce il messaggio di feedback predefinito per un valore errato.

Variable myArray has an incorrect value.

Confrontare l’array myArray=[1 1 4 4] della presentazione dello studente con l’array della soluzione di riferimento myArray=[1 2 3 4]. La presentazione dello studente è accettata se i valori nell’array rientrano in una tolleranza di errore assoluto di 1.

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

In questo caso, la tolleranza è soddisfatta poiché le differenze assolute tra i valori previsti e quelli effettivi sono tutte inferiori o uguali alla tolleranza assoluta corrispondente.

Confrontare la variabile avgX della presentazione dello studente con la variabile della soluzione di riferimento avgX. Se la variabile della presentazione non è corretta, fornire un ulteriore feedback personalizzato per guidare lo studente.

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

Se la presentazione dello studente contiene un valore errato per avgX, il test non viene superato e lo studente riceve il feedback personalizzato aggiuntivo insieme a quello predefinito.

Variable avgX has an incorrect value.

Refer to the Week 2 handout on Averages.

Argomenti di input

comprimi tutto

Nome della variabile che lo studente deve utilizzare per risolvere il problema, specificato come carattere.

Esempio 'learnerValue'

Il valore corretto per la variabile utilizzata nella soluzione, specificato come uno qualsiasi dei tipi di dati supportati. Sono inoltre consentite strutture, tabelle e celle contenenti solo i tipi di dati supportati. I tipi di dati datetime, duration e calendarDuration ignorano qualsiasi formattazione applicata.

Se è stata creata una soluzione di riferimento, expectedValue può anche essere una variabile della soluzione di riferimento utilizzando la notazione referenceVariables.variableName. Ad esempio, assessVariableEqual('X',referenceVariables.X) confronta il valore di X nella soluzione dello studente con il valore di X nella soluzione di riferimento.

La valutazione è contrassegnata come corretta se è presente una variabile con il nome variableName e se ha lo stesso tipo di dati, la stessa dimensione e lo stesso valore di expectedValue. Se la valutazione non viene superata, lo studente riceve un messaggio di feedback; il messaggio esatto dipende dalla condizione di mancata corrispondenza.

CondizioneMessaggio

La variabile non è presente nella soluzione presentata.

La presentazione deve contenere un nome della variabile <varname>.

Tipo di dati della variabile non corretto. Non corrisponde al tipo di dati di expectedValue.

La variabile <varname> deve essere del tipo di dati: <correct_type>. Attualmente è di <incorrect_type>. Verificare dove viene assegnato un valore alla variabile.

Dimensione della variabile non corretta. Non corrisponde alla dimensione di expectedValue.

La variabile <varname> deve avere questa dimensione: <correct_size>.
Attualmente la dimensione è <incorrect_size>. Verificare dove viene assegnato un valore alla variabile.

Valore della variabile non corretto. Non corrisponde a expectedValue.

La variabile <varname> ha un valore non corretto.

Nota

Quando si confronta una variabile della soluzione dello studente con un'altra variabile, quelle variabili devono avere nomi diversi. Ad esempio, quando si confronta avgX nella soluzione dello studente con avgX nella soluzione di riferimento, si formatta la variabile di riferimento come referenceVariables.avgX.

Se expectedValue è una variabile che non è presente nella soluzione di riferimento, utilizzare un nome di variabile diverso da quello della variabile dello studente per evitare che la variabile si confronti con se stessa. Ad esempio:

assessVariableEqual('avgX',xSol)

Esempio referenceVariables.xSol

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

Argomenti nome-valore

Specificare coppie opzionali di argomenti come Name1=Value1,...,NameN=ValueN, dove Name è il nome dell’argomento e Value è il valore corrispondente. Gli argomenti nome-valore devono apparire dopo gli altri argomenti mentre l'ordine delle coppie non ha importanza.

Per le versioni anteriori alla R2021a, utilizzare le virgole per separare ciascun nome e valore e racchiudere Name tra virgolette.

Esempio 'Feedback’, ’Fare riferimento al video della settimana 1 sull’identificazione del polinomio quadratico'

Tolleranza assoluta, specificata come coppia separata da virgole composta da ‘TolleranzaAssoluta' e da un array numerico. La tolleranza viene applicata solo ai valori numerici dello stesso tipo di dati. Il valore può essere uno scalare o un array della stessa dimensione di expectedValue.

Per impostazione predefinita, la tolleranza assoluta è 1e-4. Affinché una tolleranza assoluta sia soddisfatta, la seguente condizione deve essere vera:

abs(expected-actual) <= AbsoluteTolerance

Se non viene specificata alcuna tolleranza o se vengono specificate sia la tolleranza assoluta che quella relativa, il test viene superato se l'applicazione della tolleranza assoluta o della tolleranza relativa supera il controllo di uguaglianza.

La tolleranza relativa viene ignorata quando è specificata solo la tolleranza assoluta.

Esempio ’AbsoluteTolerance’,1.0

Tolleranza relativa, specificata come coppia separata da virgole composta da ‘TolleranzaRelativa' e da un array numerico. La tolleranza viene applicata solo ai valori numerici dello stesso tipo di dati. Il valore può essere uno scalare o un array della stessa dimensione di expectedValue.

Per impostazione predefinita, la tolleranza relativa è 0.001. Affinché una tolleranza relativa sia soddisfatta, la seguente condizione deve essere vera:

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

Se non viene specificata alcuna tolleranza o se vengono specificate sia la tolleranza assoluta che quella relativa, il test viene superato se l'applicazione della tolleranza assoluta o della tolleranza relativa supera il controllo di uguaglianza.

La tolleranza assoluta viene ignorata quando è specificata solo la tolleranza relativa.

Esempio ’RelativeTolerance’,0.05

Ulteriore feedback da mostrare allo studente se la valutazione è contrassegnata come errata, specificato come coppia separata da virgole composta da ‘Feedback’ e da un array di caratteri. Il feedback dovrebbe essere utilizzato per fornire agli studenti le risorse per apportare le correzioni al loro codice. Anche se non si può sapere quale condizione non è stata soddisfatta, si può indirizzare lo studente a una particolare lezione o lettura che tratta questo argomento.

Si supponga, ad esempio, che la valutazione comprenda il Feedback per la coppia Nome,Valore:

'Feedback','See class resource for assigning variable values.'
Quando la presentazione dello studente contiene un valore errato per la variabile che viene confrontata, il test non viene superato e lo studente riceve il feedback personalizzato aggiuntivo insieme a quello predefinito.

Variable myVariable has an incorrect value.

See class resource for assigning variable values.

Cronologia versioni

Introdotto in R2016a