矩阵
编辑¶
插入矩阵有几种方式:通过菜单 Insert > Matrix...、快捷键 CTRL+M、从 Matrices 调色板(Matrix 3x3),或者输入函数 mat(。您会得到一个 3x3 模板,或者一个用于输入行数和列数的对话框。假设我们将一个 3(行)x 3(列)的矩阵赋值给变量 A。例如,输入 A:,然后按 CTRL+M。将出现一个带有 3x3 空占位符的矩阵模板。

如果您改变主意想调整维度,随时都可以更改矩阵的维度。只需点击矩阵右下角内部,会出现一个带有垂直和水平线的黑色方块。按住鼠标左键(鼠标指针会改变外观)拖动以调整维度。即使占位符不是空的,也可以这样做。

现在,让我们像下图那样填写占位符。如果用鼠标指向矩阵,会出现工具提示 —— 这是矩阵的符号化表示。可以看到,实数以分数形式呈现,同时还有两个未定义的变量(a 和 b,没有数值)。

用法:符号计算与数值计算¶
如果在定义矩阵之前为变量 a 和 b 赋值,结果将是:

我们可以将矩阵 A 的结果以符号形式(运算符 →)或数值形式(运算符 =)呈现。请注意两者的区别:

提取元素¶
还可以使用函数 el 来获取矩阵的单个元素。输入 el(A, 或 A[,您将看到:

为元素赋值¶
现在,您可以插入一个整数(用于向量)或两个整数(用于矩阵)来为向量或矩阵的元素赋值。这里(矩阵)输入 3,1→ 或 3,1=。将显示 A 中第三行第一列的值(行列的最小索引为 1)。

向量¶
SMath 会将列矩阵视为向量。向量元素只需要一个索引。下面是一个示例(行矩阵仍然需要两个索引,第一个索引为 1)。

进阶内容¶
需要注意的是,矩阵的元素可以是不同的数据类型(数值、文本、单位)。以下是演示此功能的一些简单示例。

请注意使用函数 row 和 col 来提取单独的一行或一列。
SMath 还支持嵌套矩阵,即矩阵的元素本身也可以是一个矩阵。请看下面的示例。

其中的各个元素与之前的方式相同。

SMath 中的矩阵是动态数组,可以改变其维度。例如,matrix 函数会返回一个填满零的矩阵。请看如何通过为元素 z3 4 赋零值来实现同样的效果。

现在请尝试输入,比如 z5 5:=2
除了矩阵/向量变量之外,还有矩阵/向量函数。

函数 f 接受一个参数,并返回一个三元素向量。参数可以是标量、向量或矩阵。请自行尝试。函数 ff 需要一个二元素向量,而函数 F 需要两个参数并返回一个 2x2 矩阵。尝试使用它们。
在处理矩阵时,尽管有许多矩阵/向量运算符和函数,但迟早都会用到循环。最常用的是单重、双重或嵌套的 for 循环。请看下面这个简单的示例:

您可以使用 matrix(rows,cols) 并将其中一个参数设为 0,来初始化一个具有固定维度的空矩阵。

本页内容源自旧版 wiki 文章,作者:Davide Carpi。