Main Content

assessVariableEqual

변수의 존재 및 동등성 여부에 대해 여러 번의 확인 수행

설명

assessVariableEqual(variableName,expectedValue)는 변수 variableName이 있는지와 이 변수가 변수 expectedValue와 데이터형과 크기, 값이 같은지 확인합니다. 변수 expectedValue가 숫자인 경우 동등성 여부는 디폴트 허용오차를 사용하여 결정됩니다. expectedValue가 배열인 경우 배열의 각 요소에 디폴트 허용오차를 적용하여 동등성 여부가 결정됩니다.

assessVariableEqual(variableName,expectedValue,Name,Value)는 하나 이상의 Name,Value 쌍 인수로 지정된 추가 옵션을 사용합니다.

답안이 평가 테스트의 조건을 통과하지 못하면 학습자에게 조건 불일치 경우에 맞는 텍스트가 포함된 피드백 메시지가 표시됩니다. Feedback Name,Value 쌍을 사용하여 직접 작성한 피드백을 추가로 제공할 수도 있습니다.

예제

예제

모두 축소

학습자 제출 답안의 변수 avgX와 모범 답안의 변수 avgX를 비교합니다. 디폴트 허용오차가 자동으로 적용됩니다.

assessVariableEqual('avgX',referenceVariables.avgX)

학습자 답안의 변수 avgX가 오답인 경우 답안은 실패하며 학습자에게 오답에 대한 디폴트 피드백이 표시됩니다.

Variable avgX has an incorrect value.

학습자 제출 답안의 배열 myArray=[1 1 4 4]와 모범 답안의 배열 myArray=[1 2 3 4]를 비교합니다. 배열의 값이 0.03(3%)의 상대 오차 허용오차 범위 내에 있으면 학습자 제출 답안은 정답으로 인정됩니다.

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

여기서는 예상 값에서 실제 값을 뺀 절댓값 [0 1 1 0]이 예상 값과 상대 허용오차를 곱한 값의 절댓값인 [0.03 0.06 0.09 0.12]보다 작거나 같지 않기 때문에 허용오차가 충족되지 않습니다. 함수는 오답에 대한 디폴트 피드백 메시지를 반환합니다.

Variable myArray has an incorrect value.

학습자 제출 답안의 배열 myArray=[1 1 4 4]와 모범 답안의 배열 myArray=[1 2 3 4]를 비교합니다. 배열의 값이 1의 절대 허용오차 범위 내에 있으면 학습자 제출 답안은 정답으로 인정됩니다.

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

여기서는 예상 값과 실제 값 간의 절대 차이가 대응하는 절대 허용오차보다 모두 작거나 같기 때문에 허용오차가 충족됩니다.

학습자 제출 답안의 변수 avgX와 모범 답안의 변수 avgX를 비교합니다. 제출 답안의 변수가 오답인 경우 학습자를 안내할 직접 작성한 피드백을 추가로 제공합니다.

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

학습자 제출 답안에서 avgX의 값이 오답인 경우 답안은 실패하며 학습자에게 디폴트 피드백과 함께 직접 작성한 추가 피드백이 표시됩니다.

Variable avgX has an incorrect value.

Refer to the Week 2 handout on Averages.

입력 인수

모두 축소

학습자가 문제를 풀 때 사용하는 변수 이름으로, 문자형으로 지정됩니다.

예: 'learnerValue'

답안에 사용되는 변수에 대한 정답으로, 지원되는 모든 데이터형으로 지정됩니다. 지원되는 데이터형만 포함하는 구조체, 테이블, 셀형 배열도 허용됩니다. 데이터형 datetime형, duration형, calendarDuration형은 적용된 서식을 무시합니다.

모범 답안을 만든 경우 referenceVariables.variableName 표기법을 사용하여 expectedValue를 모범 답안의 변수로 만들 수도 있습니다. 예를 들어 assessVariableEqual('X',referenceVariables.X)는 학습자 답안의 X 값을 모범 답안의 X 값과 비교합니다.

이름이 variableName인 변수가 있고 그 변수의 데이터형, 크기, 값이 expectedValue와 같은 경우 답안이 정답으로 표시됩니다. 답안이 평가 테스트의 조건을 통과하지 못하면 학습자에게 조건 불일치 경우에 정확히 맞는 피드백 메시지가 표시됩니다.

조건메시지

제출 답안에 변수가 없음.

제출 답안에 변수 이름 <varname>이(가) 있어야 합니다.

잘못된 변수 데이터형임. expectedValue의 데이터형과 일치하지 않음.

변수 <varname>의 데이터형은 다음이어야 합니다: <correct_type>. 현재 데이터형은 <incorrect_type>입니다. 변수에 값을 할당한 위치를 확인하십시오.

변수 크기가 잘못됨. expectedValue의 크기와 일치하지 않음.

변수 <varname>의 크기는 다음이어야 합니다: <correct_size>.
현재 크기는 <incorrect_size>입니다. 변수에 값을 할당한 위치를 확인하십시오.

변수 값이 잘못됨. expectedValue와 일치하지 않음.

변수 <varname>의 값이 잘못되었습니다.

참고

학습자 답안의 변수를 다른 변수와 비교할 경우 각 변수의 이름은 달라야 합니다. 예를 들어 학습자 답안의 avgX를 모범 답안의 avgX와 비교할 경우 모범 답안의 변수 형식을 referenceVariables.avgX로 지정합니다.

expectedValue가 모범 답안에 없는 변수인 경우 그 변수 자신과의 비교를 방지하기 위해 학습자 답안의 변수와 다른 변수 이름을 사용합니다. 예를 들면 다음과 같습니다.

assessVariableEqual('avgX',xSol)

예: referenceVariables.xSol

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | categorical | datetime | duration | calendarDuration | sym

이름-값 인수

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 어떻더라도 상관없습니다.

R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name을 따옴표로 묶으십시오.

예: 'Feedback',’Refer to Week 1 video on Finding the Quadratic Polynomial'

절대 허용오차로, 'AbsoluteTolerance'와 함께 숫자형 배열이 쉼표로 구분되어 지정됩니다. 허용오차는 같은 데이터형의 숫자형 값에만 적용됩니다. 값은 스칼라 또는 expectedValue와 같은 크기의 배열일 수 있습니다.

기본적으로 절대 허용오차는 1e-4입니다. 절대 허용오차를 충족하려면 다음 조건이 참이어야 합니다.

abs(expected-actual) <= AbsoluteTolerance

허용오차가 지정되지 않거나 절대 허용오차와 상대 허용오차가 모두 지정된 경우, 절대 허용오차 또는 상대 허용오차를 적용한 값이 일치 여부 검사를 통과하면 답안이 통과하게 됩니다.

절대 허용오차만 지정된 경우 상대 허용오차는 무시됩니다.

예: ’AbsoluteTolerance’,1.0

상대 허용오차로, ‘RelativeTolerance’와 함께 숫자형 배열이 쉼표로 구분되어 지정됩니다. 허용오차는 같은 데이터형의 숫자형 값에만 적용됩니다. 값은 스칼라 또는 expectedValue와 같은 크기의 배열일 수 있습니다.

기본적으로 상대 허용오차는 0.001입니다. 상대 허용오차를 충족하려면 다음 조건이 참이어야 합니다.

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

허용오차가 지정되지 않거나 절대 허용오차와 상대 허용오차가 모두 지정된 경우, 절대 허용오차 또는 상대 허용오차를 적용한 값이 일치 여부 검사를 통과하면 답안이 통과하게 됩니다.

상대 허용오차만 지정된 경우 절대 허용오차는 무시됩니다.

예: ’RelativeTolerance’,0.05

답안이 오답으로 표시되는 경우 학습자에게 표시할 추가 피드백으로, 'Feedback'과 함께 문자형 배열이 쉼표로 구분되어 지정됩니다. 피드백을 사용하여 학습자가 코드를 수정하는 데 사용할 수 있는 정보를 제공하십시오. 어떠한 조건이 충족되지 않은 것인지 명확하지 않더라도 관련 내용을 다루는 특정 강의나 자료를 참조하도록 학습자를 안내할 수 있습니다.

예를 들어 평가 테스트에 다음과 같은 Feedback Name,Value 쌍이 포함되어 있다고 가정해 보겠습니다.

'Feedback','See class resource for assigning variable values.'
학습자 제출 답안에서 비교되는 변수에 대한 값이 오답인 경우 답안은 실패하며 학습자에게 디폴트 피드백과 함께 직접 작성한 추가 피드백이 표시됩니다.

Variable myVariable has an incorrect value.

See class resource for assigning variable values.

버전 내역

R2016a에 개발됨