pl-matrix-input元件¶
pl-matrix-input 元素显示接受矩阵的输入字段
(即二维数组)以受支持的编程语言表达
格式(MATLAB 或 Python 的 numpy)。
样品元素¶

question.html
<pl-matrix-input answers-name="matrixB" label="$B=$"></pl-matrix-input>
server.py
import prairielearn as pl
import numpy as np
def generate(data):
# Randomly generate a 2x2 matrix
matrixB = np.random.random((2, 2))
# Answer exported to question.
data["correct_answers"]["matrixB"] = pl.to_json(matrixB)
定制¶
| 属性 | 类型 | 默认 | 描述 |
|---|---|---|---|
allow-complex |
布尔 | 假 | 是否允许复数作为答案。 |
answers-name |
字符串 | — | 用于存储数据的变量名称。请注意,该属性在问题中必须是唯一的,即该属性的值不应在问题中重复。 |
aria-label |
字符串 | — | 输入的可访问标签。 |
atol |
数量 | 1e-8 | comparison="relabs" 的绝对公差。 |
comparison |
"relabs"、"sigfig" 或 "decdig" |
"relabs" |
如何评分。 "relabs" 使用相对 (rtol) 和绝对 (atol) 公差。 "sigfig" 和 "decdig" 使用 digits 有效数字或小数位。 |
digits |
整数 | 2 | comparison="sigfig" 或 comparison="decdig" 必须正确的位数。 |
initial-value |
字符串 | — | 第一次渲染时预填充输入框的初始值。 |
label |
字符串 | — | 显示在输入框之前的前缀(例如,label="$F =$")。 |
rtol |
数量 | 1e-2 | comparison="relabs" 的相对公差。 |
show-help-text |
布尔 | 真实 | 在显示所需输入参数的输入末尾显示问号。 |
weight |
整数 | 1 | 计算元素的加权平均分数时使用的权重。 |
细节¶
pl-matrix-input 解析以 MATLAB 或 Python 格式输入的矩阵。
以下是有效的输入格式选项:
MATLAB 格式:
[1.23; 4.56]
Python 格式:
[[1.23], [4.56]]
注意: 标量可以作为大小为 1 x 1 的矩阵(例如,[1.23] 或 [[1.23]])或仅作为单个数字(例如,1.23)被接受。
在答案面板中,pl-matrix-input 元素显示正确答案,允许用户在 matlab 和 python 格式之间切换。
在提交面板中,pl-matrix-input 元素显示提交的答案(采用与提交时相同的格式,MATLAB 或 Python),或显示提交的答案无效的注释(并解释原因)。
示例实现¶
- [演示/矩阵复代数]