assessVariableEqual
Eseguire più controlli per la presenza e l'uguaglianza delle variabili
Sintassi
Descrizione
assessVariableEqual(
determina se la variabile variableName
,expectedValue
)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(
utilizza ulteriori opzioni specificate da uno o più argomenti della coppia Nome,Valore.variableName
,expectedValue
,Name,Value
)
Se la soluzione non soddisfa le condizioni del test di valutazione, lo studente riceve un messaggio di feedback il cui testo dipende dalla mancata corrispondenza delle condizioni. È inoltre possibile fornire un ulteriore feedback personalizzato con il Feedback
per la coppia Nome,Valore.
Esempi
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, la soluzione non ha esito positivo 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
, la soluzione non ha esito positivo e lo studente riceve l'ulteriore feedback personalizzato oltre a quello predefinito.
Variable avgX has an incorrect value
.
Refer to the Week 2 handout on Averages
.
Argomenti di input
Nome della variabile che lo studente deve utilizzare per risolvere il problema proposto nell'elemento di valutazione, 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 soluzione è 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 soluzione non soddisfa le condizioni del test di valutazione, lo studente riceve un messaggio di feedback; il messaggio esatto dipende dalla mancata corrispondenza delle condizioni.
Condizione | Messaggio |
---|---|
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 | 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 | 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 | 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, la soluzione è corretta 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, la soluzione è corretta 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 soluzione è contrassegnata come non corretta, specificato come coppia separata da virgole composta da 'Feedback' e da un array di caratteri. Utilizzare il feedback per fornire risorse che gli studenti possono utilizzare per apportare 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 il test comprenda il Feedback
per la coppia Nome,Valore:
'Feedback','See class resource for assigning variable values.'
Variable myVariable has an incorrect value
.
See class resource for assigning variable values
.
Cronologia versioni
Introdotto in R2016a
Vedi anche
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.
Seleziona un sito web
Seleziona un sito web per visualizzare contenuto tradotto dove disponibile e vedere eventi e offerte locali. In base alla tua area geografica, ti consigliamo di selezionare: .
Puoi anche selezionare un sito web dal seguente elenco:
Come ottenere le migliori prestazioni del sito
Per ottenere le migliori prestazioni del sito, seleziona il sito cinese (in cinese o in inglese). I siti MathWorks per gli altri paesi non sono ottimizzati per essere visitati dalla tua area geografica.
Americhe
- 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)