如何运行?

1. 在左侧的"Code(代码)"窗口中输入输入 文本和表达式.
2. 按 F5 或单击 计算. 计算结果将以专业排版的Html 报告显示在右侧的"Output(输出)" 窗口中.
3. 单击 打印 ,或 复制 输出内容.
   也可以将其 导出 到 Html , PDF 或 MS Word 文档.

程序语言

Calcpad程序语言包含以下元素(单击项目即可插入):

- 实数: 数字 0 - 9 及小数点 ".";
- 复数: re ± im i (例如： 3 - 2 i);
- 向量: [v1; v2; v3; …; vn];
- 矩阵: [M11; M12; … ; M1n | M21; M22; … ; M2n | … | Mm1; Mm2; … ; Mmn]
- +变量:
  - 拉丁字母: a - z, A - Z;
  - 希腊字母: α - ω, Α - Ω;
  - 数字: 0 - 9;
  - 逗号: " , ";
  - 标记符号: ′ , ″ , ‴ , ⁗ ;
  - 上标: ⁰ , ¹ , ² , ³ , ⁴ , ⁵ , ⁶ , ⁷ , ⁸ , ⁹ , ⁿ , ⁺ , ⁻ ;
  - 特殊符号: ‾ , ø , Ø , ° , ∡ ;
  -下标" _ " ;
  变量必须以字母或 ∡开始,并对大小写敏感.
- 常量: π, e, φ, γ, g, G, ME, MS, c, h, μ0, ε0, ke, e, me, mp, mn, NA, σ, kB, R, F, γc, γs, γa, γg, γw
- +运算符:
  "!" - 级数;
  "^" - 指数;
  "/" - 除以;
  "÷" - 强制除法;
  "\" - 除;
  "⦼" - 求范数(余);
  "*" - 乘;
  "-" - 减;
  "+" - 加;
  "≡" - 等于;
  "≠" - 不等于;
  "<" - 小于;
  ">" - 大于;
  "≤" - 小于等于;
  "≥" - 大于等于;
  "∧" - 逻辑值 "且";
  "∨" - 逻辑值 "或";
  "⊕" - 逻辑值 "异或";
  "=" - 对变量、函数或宏进行赋值或定义;
  "←" - 块中的外部变量赋值;
- 自定义多变量函数 f(x; y; z; ...);
- +程序内置函数:
  - +三角函数:
    sin(x) - 正弦;
    cos(x) - 余弦;
    tan(x) - 正切;
    csc(x) - 余割;
    sec(x) - 正割;
    cot(x) - 余切;
  - +双曲函数:
    sinh(x) - 双曲正弦;
    cosh(x) - 双曲余弦;
    tanh(x) - 双曲正切;
    csch(x) - 双曲余切;
    sech(x) - 双曲正割;
    coth(x) - 双曲余割;
  - +反三角函数:
    asin(x) - 反正弦;
    acos(x) - 反余弦;
    atan(x) - 反正切;
    atan2(x; y) - 正切值为y/x的角度;
    acsc(x) - 反余割;
    asec(x) - 反正割;
    acot(x) - 反余切;
  - +反双曲三角函数:
    asinh(x) - 反双曲正弦;
    acosh(x) - 反双曲余弦;
    atanh(x) - 反双曲正切;
    acsch(x) - 反双曲余割;
    asech(x) - 反双曲正割;
    acoth(x) - 反双曲余切;
  - +指数, 对数和根:
    log(x) - 十进制对数;
    ln(x) - 自然指数;
    log_2(x) - 底数为2的指数;
    exp(x) - 自然对数 = eˣ ;
    sqr(x) 或 sqrt(x) - 平方根;
    cbrt(x) - 立方根;
    root(x; n) -n次方根;
  - +舍入:
    round(x) - 舍入到最近的整数;
    floor(x) - 舍入到稍小的整数(向 -∞方向);
    ceiling(x) - 舍入到稍大的整数(向 +∞方向);
    trunc(x) - 舍入(向原点方向)到整数;
  - +整数运算:
    mod(x; y) - 整除的余数;
    gcd(x; y) - 两整数的最大公约数;
    lcm(x; y) - 两整数的最小公倍数;
  - +复数运算:
    re(z) - 复数的实部;
    im(z) - 复数的虚部;
    abs(x) - 绝对值/幅值;
    phase(z) - 复数的相位;
    conj(z) - 复数的共轭复数;
  - +求和与插值:
    min(x; y; z...) - 最小值;
    max(x; y; z...) - 最大值;
    sum(x; y; z...) - 求和 = x + y + z...;
    sumsq(x; y; z...) - 平方和 = x² + y² + z²...;
    srss(x; y; z...) - 平方和的平方根 = sqrt(x² + y² + z²...);
    average(x; y; z...) - 平均值 = (x + y + z...)/n;
    product(x; y; z...) - 连积 = x·y·z...;
    mean(x; y; z...) - 几何平均(n个变量值连乘积的n次方根) = root(x·y·z...;n);
    take(n; a; b; c...) - 返回列表的第n个元素;
    line(x; a; b; c...) - 线性内插;
    spline(x; a; b; c...) - Hermite样条曲线内插;
  - +条件和逻辑计算:
    if(条件; 条件逻辑值为真时的返回值; 条件逻辑值为假时的返回值) -有条件执行;
    switch(条件1; 值1; 条件2; 值2; ...; 默认值) - 选择性执行;
    not(x) - 逻辑值 "否";
    and(x; y; z...) - 逻辑值 "且";
    or(x; y; z...) - 逻辑值 "或";
    xor(x; y; z...) - 逻辑值 "异或";
  - +其他函数:
    sign(x) - 数的正负号;
    random(x) - 0 和 x之间的随机数.
    getunits(x) - 返回 x 的单位(不带数值). 若x 无单位则返回1;
    setunits(x; u) - 将单位 u 赋予 x ,其中 x 可以为标量,向量或矩阵;
    clrunits(x) - 清除标量,向量或矩阵 x的单位;
    hp(x) - 将x转换为其等效的高性能(hp)类型量;
    ishp(x) - 检查x的类型是否为高性能(hp)向量或矩阵;
  - +向量:
    创建相关:
    Vector(n) - 创建长度为 n的空向量;
    vector_hp(n) - 创建一个长度为 n的空的高性能(hp)类型的空向量;
    fill(⃗v; x) -以x的值填充向量⃗v;
    range(x1; xn; s) - 在 x1 到 xn 之间以步 s变化取值做元素创建一个向量;
    range_hp(x1; xn; step)- 在 x1 到 xn 之间以步 s变化取值做元素创建一个高性能(hp)型向量;
    结构相关:
    len(⃗v) - 返回向量 ⃗v的长度(维数);
    size(⃗v) - 向量的实际大小 ⃗v (最后一个非0元素的索引号);
    resize(⃗v; n) - 设置 n 为向量 ⃗v新的长度值;
    fill(⃗v; x) - 用x值填充向量⃗v ;
    join(A; ⃗b; c…) - 通过合并：矩阵,向量和标量创建一个向量;
    slice(⃗v; i1; i2) - 返回向量的 ⃗v 索引号 i1 到 i2 (包含边界)的部分成为一个新向量;
    first(⃗v; n) -向量 ⃗v的前 n个元素组成的新向量;
    last(⃗v; n) -向量 ⃗v的后 n个元素组成一个新向量;
    extract(⃗v; ⃗i) - 从向量 ⃗v 中提取元素组成一个新向量，元素的索引号包含在向量 ⃗i中;
    数据相关:
    sort(⃗v) - 对向量 ⃗v 的元素按升↑序排列后返回一个向量;
    rsort(⃗v) - 对向量 ⃗v 的元素按降↓序排列;
    order(⃗v) - 向量 ⃗v的索引号, 以元素的升序排列;
    revorder(⃗v) - 向量 ⃗v的索引号, 以元素的降序排列;
    reverse(⃗v) - 一个新向量包含 ⃗v 的元素,但逆序排列;
    count(⃗v; x; i) - 向量 ⃗v中, 第i个元素后= x的元素个数;
    search(⃗v; x; i)- 向量 ⃗v中, 第i个元素后= x的第一个元素的索引号;
    find(⃗v; x; i) 或
    find_eq(⃗v; x; i) - 向量 ⃗v中, 第i个元素后= x的所有元素的索引号;
    find_ne(⃗v; x; i) - 向量 ⃗v中, 第i个元素后≠ x的所有元素的索引号;
    find_lt(⃗v; x; i) - 向量 ⃗v中, 第i个元素后 < x的所有元素的索引号;
    find_le(⃗v; x; i) - 向量 ⃗v中, 第i个元素后 ≤ x的所有元素的索引号;
    find_gt(⃗v; x; i) - 向量 ⃗v中, 第i个元素后 > x的所有元素的索引号;
    find_ge(⃗v; x; i) - 向量 ⃗v中, 第i个元素后 ≥ x的所有元素的索引号;
    lookup(⃗a; ⃗b; x) 或
    lookup_eq(⃗a; ⃗b; x) - 向量 ⃗a 中所有 = x的元素的索引号在⃗b中对应的所有元素(顺序组成新向量);
    lookup_ne(⃗a; ⃗b; x) - 向量 ⃗a 中所有 ≠ x的元素的索引号在⃗b中对应的所有元素(顺序组成新向量);
    lookup_lt(⃗a; ⃗b; x) - 向量 ⃗a 中所有 < x的元素的索引号在⃗b中对应的所有元素(顺序组成新向量);
    lookup_le(⃗a; ⃗b; x) - 向量 ⃗a 中所有 ≤ x的元素的索引号在⃗b中对应的所有元素(顺序组成新向量);
    lookup_gt(⃗a; ⃗b; x) - 向量 ⃗a 中所有 > x的元素的索引号在⃗b中对应的所有元素(顺序组成新向量);
    lookup_ge(⃗a; ⃗b; x) - 向量 ⃗a 中所有 ≥ x的元素的索引号在⃗b中对应的所有元素(顺序组成新向量);
    数学相关:
    norm_1(⃗v) - 向量 ⃗v的L1 (Manhattan)范数;
    norm(⃗v) 或
    norm_2(⃗v) 或
    norm_e(⃗v) - 向量 ⃗v的L2 (Euclidean)范数;
    norm_p(⃗v; p) - 向量⃗v的Lp 范数 ;
    norm_i(⃗v) - 向量 ⃗v的L∞ (无穷)范数;
    unit(⃗v) - 向量 ⃗v的规范化 (L2 范数 = 1);
    dot(⃗a; ⃗b) - 2个向量 ⃗a 和 ⃗b的标量积;
    cross(⃗a; ⃗b) -2个向量(长度2或3) ⃗a 和 ⃗b 的叉积;
  - +矩阵:
    创建相关:
    matrix(m; n) - 创建一个 m⨯n的空矩阵;
    identity(n) - 创建一个 n⨯n的单位矩阵;
    diagonal(n; d) - 创建一个n⨯n 对角元素值为 d的对角矩阵;
    column(m; c) - 创建一个 m⨯1的列矩阵, 元素值都为 c;
    utriang(n) - 创建一个 n⨯n的上三角矩阵;
    ltriang(n) - 创建一个 n⨯n的下三角矩阵;
    symmetric(n) - 创建一个 n⨯n的对称矩阵;
    matrix_hp(m; n) - 创建一个高性能型(hp) m⨯n的空矩阵;
    identity_hp(n) - 创建一个高性能型(hp) n⨯n的单位矩阵;
    diagonal_hp(n; d) - 创建一个高性能型(hp)n⨯n 且对角元素值为 d的对角矩阵;
    column_hp(m; c) - 创建一个高性能型(hp)m⨯1的列矩阵, 元素值都为 c;
    utriang_hp(n) - 创建一个高性能型(hp) n⨯n的上三角矩阵;
    ltriang_hp(n) - 创建一个高性能型(hp) n⨯n的下三角矩阵;
    symmetric_hp(n) - 创建一个高性能型(hp) n⨯n的对称矩阵;
    vec2diag(⃗v) - 用向量 ⃗v的元素创建一个对角矩阵;
    vec2row(⃗v) - 用向量 ⃗v创建包含元素的行矩阵;
    vec2col(⃗v) - 用向量 ⃗v的元素创建一个列矩阵;
    join_cols(⃗c1; ⃗c2; ⃗c3…) - 通过合并列向量创建新矩阵;
    join_rows(⃗r1; ⃗r2; ⃗r3…) - 通过合并行向量创建新矩阵;
    augment(A; B; C…) - 通过对矩阵A; B; C 左右相接依次扩充创建的一个新矩阵;
    stack(A; B; C…) - 通过对矩阵 A; B; C 上下相接创建新矩阵;
    结构相关:
    n_rows(M) - 矩阵M的行数;
    n_cols(M) - 矩阵 M的列数;
    mresize(M; m; n) - 对矩阵 M设置新的维数 m 和 n;
    mfill(M; x) - 以 x值填充矩阵 M ;
    fill_row(M; i; x) - 以 x填充矩阵 M的第 i 行;
    fill_col(M; j; x) - 以 x填充矩阵 M的第 j 列;
    copy(A; B; i; j) - 将 A 的所有元素复制到 B, B的索引起始号为行: i ;列: j;
    add(A; B; i; j) - 将 A 的所有元素加到 B, B的索引起始号为行: i ;列: j;
    row(M; i) - 提取矩阵M第 i行为一个向量;
    col(M; j) - 提取矩阵M第 j列为一个向量;
    extract_rows(M; ⃗i) - 从矩阵M 中提取行,行号在向量⃗vi中给出;
    extract_cols(M; ⃗vj) - 从矩阵M 中提取列,列号在向量⃗j中给出;
    diag2vec(M) - 将矩阵 M的对角元素提取到一个向量中;
    submatrix(M; i1; i2; j1; j2) - 在矩阵 M中提取一个次矩阵, 行号 i1 到 i2 列号 j1 到 j2, 上下界限包含在内;
    数据相关:
    sort_cols(M; i) - 以第 i 行的值为准对矩阵M的列按照升序排列;
    rsort_cols(M; i) - 以第 i 行的值为准对矩阵M的列按照降序排列;
    sort_rows(M; j) - 以第 j 列的值为准对矩阵M的行按照升序排列;
    rsort_rows(M; j) - 以第 j 列的值为准对矩阵M的行按照降序排列;
    order_cols(M; i) - 以矩阵 M第 i 行的值按照升序排列，对应的的列号排序;
    revorder_cols(M; i) - 以矩阵 M第 i 行的值按照降序排列，对应的的列号排序;
    order_rows(M; j) - 以矩阵 M第 j 列的值按照升序排列，对应的的行号排序;
    revorder_rows(M; j) - 以矩阵 M第 j 列的值按照降序排列，对应的的行号排序;
    mcount(M; x) - 矩阵 M出现 x值的次数 ;
    msearch(M; x; i; j) - 以在矩阵 M中第一次出现x的行号 i 和列号 j组成的向量;
    mfind(M; x) 或
    mfind_eq(M; x) - 矩阵 M 中所有 = x的元素的索引号;
    mfind_ne(M; x) - 矩阵 M 中所有 ≠ x的元素的索引号;
    mfind_lt(M; x) - 矩阵 M 中所有 < x的元素的索引号;
    mfind_le(M; x) - 矩阵 M 中所有 ≤ x的元素的索引号;
    mfind_gt(M; x) - 矩阵 M 中所有 > x的元素的索引号;
    mfind_ge(M; x) - 矩阵 M 中所有 ≥ x的元素的索引号;
    hlookup(M; x; i1; i2) 或
    hlookup_eq(M; x; i1; i2) - 矩阵M第i1行元素 = x时，该列对应的第i2行的元素值(组成的向量);
    hlookup_ne(M; x; i1; i2) - 矩阵M第i1行元素 ≠ x时，该列对应的第i2行的元素值(组成的向量);
    hlookup_lt(M; x; i1; i2) - 矩阵M第i1行元素 < x时，该列对应的第i2行的元素值(组成的向量);
    hlookup_le(M; x; i1; i2) - 矩阵M第i1行元素 ≤ x时，该元素所在列的第i2行的元素值(组成的向量);
    hlookup_gt(M; x; i1; i2) - 矩阵M第i1行元素 > x时，该元素所在列的第i2行的元素值(组成的向量);
    hlookup_ge(M; x; i1; i2) - 矩阵M第i1行元素 ≥ x时，该元素所在列的第i2行的元素值(组成的向量);
    vlookup(M; x; j1; j2) 或
    vlookup_eq(M; x; j1; j2) - 矩阵M第j1列元素 =x时，该元素所在行的第j2列的元素值(组成的向量);
    vlookup_ne(M; x; j1; j2) - 矩阵M第j1列元素 ≠x时，该元素所在行的第j2列的元素值(组成的向量);
    vlookup_lt(M; x; j1; j2) - 矩阵M第j1列元素 <x时，该元素所在行的第j2列的元素值(组成的向量);
    vlookup_le(M; x; j1; j2) - 矩阵M第j1列元素 ≤x时，该元素所在行的第j2列的元素值(组成的向量);
    vlookup_gt(M; x; j1; j2) - 矩阵M第j1列元素 >x时，该元素所在行的第j2列的元素值(组成的向量);
    vlookup_ge(M; x; j1; j2) - 矩阵M第j1列元素 ≥x时，该元素所在行的第j2列的元素值(组成的向量);
    数学相关:
    hprod(A; B) - 矩阵 A和B的Hadamard积;
    fprod(A; B) - 矩阵 A 和 B的Frobenius积;
    kprod(A; B) - 矩阵 A 和 B的Kronecker积;
    mnorm_1(M) - 矩阵 M的L1范数;
    mnorm(M) or
    mnorm_2(M) - 矩阵 M的L2范数;
    mnorm_e(M) - 矩阵 M的Frobenius范数;
    mnorm_i(M) - 矩阵 M的L∞范数;
    cond_1(M) - 矩阵 M 基于L1范数的条件数;
    cond(M) 或
    cond_2(M) - 矩阵 M 基于 L2范数的条件数;
    cond_e(M) - 矩阵 M 基于 Frobenius范数的条件数;
    cond_i(M) - 矩阵 M 基于 L∞ 范数的条件数;
    det(M) - 矩阵 M的行列式;
    rank(M) - 矩阵 M的秩;
    trace(M) - 矩阵 M的迹;
    transp(M) - 矩阵 M的转置矩阵;
    adj(M) - 矩阵 M的伴随矩阵(adjugate matrix);
    cofactor(M) - 矩阵 M的共因子矩阵(cofactor matrix);
    eigenvals(M) - 矩阵 M的特征值(eigenvalues);
    eigenvecs(M) - 矩阵 M的特征向量(eigenvectors);
    eigen(M) - 矩阵M的特征值及特征向量;
    cholesky(M) - 对称且正-定矩阵M的Cholesky分解;
    lu(M) - 矩阵 M的LU分解;
    qr(M) - 矩阵 M的QR分解;
    svd(M) - 矩阵M的奇异值分解(SVD);
    inverse(M) - 矩阵 M的逆矩阵;
    lsolve(A; ⃗b) - 求解线性方程组 A⃗x = ⃗b：对对称矩阵使用 LDLT 分解,对非对称矩阵使用 LU分解;
    clsolve(A; ⃗b) - 求解线性矩阵方程 A⃗x = ⃗b ：对对称且正-定系数矩阵A 使用Cholesky 分解;
    slsolve(A; ⃗b) - 对高性能型对称,正-定阵A采用预处理共轭梯度法(preconditioned conjugate gradient-PCG)求解线性矩阵方程A⃗x = ⃗b;
    msolve(A; B) - 求解一般矩阵方程 AX = B ：对对称矩阵使用 LDLT 分解；对非对称矩阵使用LU分解;
    cmsolve(A; B) - 对对称且正-定系数矩阵A 使用Cholesky分解求解一般矩阵方程 AX = B;
    smsolve(A; B) - 对高性能型对称,正-定阵A采用预处理共轭梯度法(preconditioned conjugate gradient-PCG)求解一般矩阵方程AX = B;
    fft(M) - 对行优先(row-major)矩阵M进行快速傅里叶变换. 其必须包含1实数行和2个复数行;
    ift(M) - 对行优先(row-major)矩阵M进行傅里叶逆变换. 其必须包含1实数行和2个复数行;
    双重插值:
    take(x; y; M) - 返回矩阵 M 行号 x 列号 y的元素;
    line(x; y; M) - 基于 x 和 y值对M中元素的双重线性插值;
    spline(x; y; M) - 基于 x 和 y值对M中元素的双重Hermite样条曲线插值;
    Tol - 迭代PCG求解的允许误差.
- 备注: "标题" 或 '文本' 分别放在双引号和单引号中.备注支持 HTML, CSS, JS 和 SVG .
- +图像和绘图:
  $Plot{f(x) @ x = a : b} - 简单绘图;
  $Plot{x(t) | y(t) @ t = a : b} - 参数绘图;
  $Plot{f1(x) & f2(x) & ... @ x = a : b} - 多函数单图;
  $Plot{x1(t) | y1(t) & x2(t) | y2(t) & ... @ t = a : b} - 多参数绘图;
  $Map{f(x; y) @ x = a : b & y = c : d} - 3D曲面映射到2D彩图;
  PlotHeight - 绘图区高度的像素数;
  PlotWidth - 绘图区宽度的像素数;
  PlotSVG - 绘制矢量图, (= 1)时为svg格式;(= 0)为png格式;
  PlotAdaptive - 函数绘图时设置值(= 1) 时采用自适应网格;设置为(= 0)时采用固定网格;
  PlotStep - 绘图的网格尺寸;
  PlotShadows - 绘制三维投影面图时带光影;
  PlotLightDir - 顺时针方向设置光源投射方向(0-7)：
  PlotSmooth - 绘制三维投影面图时颜色之间平滑过渡(= 1)或者区分色带(= 0) ;
  PlotPalette - 调色板中用于绘制三维投影面图的颜色数(0-9)：
- +迭代和数值方法:
  $Root{f(x) = 常量 @ x = a : b} :求解f(x) = 常量的根;
  $Root{f(x) @ x = a : b} :求解 f(x) = 0的根;
  $Find{f(x) @ x = a : b} :与上面相似, 但不要求x是精确解;
  $Sup{f(x) @ x = a : b} - 函数局部最大值;
  $Inf{f(x) @ x = a : b} - 函数局部最小值;
  $Area{f(x) @ x = a : b} - 自适应Gauss-Lobatto数值积分;
  $Integral{f(x) @ x = a : b} - Tanh-Sinh(双曲:正切-正弦数值积分);
  $Slope{f(x) @ x = a} - 数值微分 (理查森外推法);
  $Derivative{f(x) @ x = a} - 数值微分 (复杂步微分法);
  $Sum{f(k) @ k = a : b} - 迭代求和;
  $Product{f(k) @ k = a : b} - 迭代求积;
  $Repeat{f(k) @ k = a : b} - 一般单行迭代程序;
  $While{判据条件; 表达式} - 带判据条件的迭代表达式块;
  $Block{表达式} - 多行表达式块;
  $Inline{表达式} - 单行表达式块;
  Precision - 数值方法的相对精度[10-2; 10-16] (默认为10-12)
- +程序流控制:
  简单条件型:
  #if 条件
  要执行的代码
  #end if
  是否二选一型:
  #if 条件
  要执行的代码
  #else
  其他代码
  #end if
  完整型:
  #if 条件1
  要执行的代码
  #else if 条件2
  要执行的代码
  #else
  其他代码
  #end if
  用户可以按需增加多个"#else if"但最后只有一个 "#else".
- +迭代块:
  简单迭代块:
  #repeat 重复次数
  要执行的代码
  #loop
  有条件的中断/继续:
  #repeat 重复次数
  要执行的代码
  #if 条件
  #break 或 #continue
  #end if
  其他代码
  #loop
  通过计数控制的迭代:
  #for i = i1 : i2
  你要执行的代码
  #loop
  通过条件控制的迭代:
  #while 条件
  你要执行的代码
  #loop
- +模块和宏/字符串变量:
  模块:
  #include 文件名:调用外部文件(模块);
  #local - 局部表达式(不能被外部程序调用);
  #global - 全局表达式(可被外部程序调用);
  单行字符串变量:
  #def variable_name$ = content
  多行字符串变量:
  #def variable_name$
  第1行内容
  第2行内容
  ...
  #end def
  单行宏:
  #def macro_name$(param1$; param2$;...) = 内容
  多行宏:
  #def macro_name$(param1$; param2$;...)
  第1行内容
  第2行内容
  ...
  #end def
- +导入/导出外部数据:
  txt文本/CSV文件:
  #read M from 文件名.txt@R1C1:R2C2 TYPE=R SEP=',' - 从txt/CSV文件中读取矩阵M;
  #write M to 文件名.txt@R1C1:R2C2 TYPE=N SEP=',' - 将矩阵M写入txt/CSV文件中;
  #append M to 文件名.txt@R1C1:R2C2 TYPE=N SEP=',' - 将矩阵M追加到txt/CSV文件中;
  Excel文件(xlsx和xlsm后缀):
  #read M from 文件名.xlsx@Sheet1!A1:B2 TYPE=R - 从Excel文件中读取矩阵M;
  #write M to 文件名.xlsx@Sheet1!A1:B2 TYPE=N - 将矩阵M写入到Excel文件中;
  #append M to 文件名.xlsx@Sheet1!A1:B2 TYPE=N - 将矩阵M 追加到Excel文件中;
  工作表, 范围, TYPE 和 SEP 可以省略.
  对 #read 命令, TYPE 可为 [R|D|C|S|U|L|V]中一种.
  对 #write 和 #append命令, TYPE 可为 Y or N.
- 写保护: #const : 声明一个常量（只读变量;
- +输出控制:
  #hide : 隐藏报告内容;
  #show : 总是显示内容(默认);
  #pre : 仅在计算前显示下面的内容;
  #post : 仅在计算后显示下面的内容;
  #val : 不显示方程式,仅显示最终结果;
  #equ : 显示完成的方程式和结果(默认);
  #noc : 仅显示方程式,无计算结果;
  #nosub : 不代入变量(无代入);
  #novar : 仅显示代入变量值的方程式(无变量);
  #varsub : 显示方程式的变量表达式和代入值(默认);
  #split: 分割(从=开始)不适合单行显示的长公式为跨行显示;
  #wrap: 对不适合单行显示的方程式换行显示(默认);
  #round n : 将结果的数值舍入到小数点后 n 位.
  #round default ：恢复默认的舍入设置;
  #format FFFF - 指定要自定义的数据格式字符串;
  #format default - 恢复默认数据格式;
  #md on :在注释中开启Markdown;
  #md off : 在注释中关闭markdown;
  #phasor ：将复数的输出格式设置为极坐标相量形式(polar phasor): A∠φ;
  #complex :将复数的输出格式设置为笛卡尔代数式(Cartesian algebraic): a + bi.
  上述每个命令仅在当前行以后生效,直到报告结束或另一个命令生效为止.
- +逐步执行的间断点:
  #pause :计算到当前行并等待用户手动恢复计算;
  #input :该命令行可以生成一个输入框读入用户输入.
- 三角函数单位换算: #deg :度,°, #rad :弧度; #gra : grades;
- 单位换算符: |;
- 返回带单位的角度: ReturnAngleUnits = 1;
- 无量纲单位: %, ‰; ‱, pcm, ppm, ppb, ppt, ppq;
- 角度单位: °, ′, ″, deg, rad, grad, rev;
- +米制单位 (SI标准制及相容单位):
  质量: g, hg, kg, t, kt, Mt, Gt, dg, cg, mg, μg, ng, pg, Da (或 u);
  长度: m, km, dm, cm, mm, μm, nm, pm, AU, ly;
  时间: s, ms, μs, ns, ps, min, h, d, w, y;
  频率: Hz, kHz, MHz, GHz, THz, mHz, μHz, nHz, pHz, rpm;
  速度: kmh;
  电流: A, kA, MA, GA, TA, mA, μA, nA, pA;
  温度: °C, Δ°C, K;
  物质量: mol;
  光强: cd;
  面积: a, daa, ha;
  体积: L, daL, hL, dL, cL, mL, μL, nL, pL;
  力: N, daN, hN, kN, MN, GN, TN, gf, kgf, tf, dyn;
  力矩: Nm, kNm;
  压强: Pa, daPa, hPa, kPa, MPa, GPa, TPa,
  dPa, cPa, mPa, μPa, nPa, pPa,
  bar, mbar, μbar, atm, at, Torr, mmHg;
  黏度: P, cP, St, cSt;
  能量功: J, kJ, MJ, GJ, TJ, mJ, μJ, nJ, pJ,
  Wh, kWh, MWh, GWh, TWh, mWh, μWh, nWh, pWh,
  eV, keV, MeV, GeV, TeV, PeV, EeV, cal, kcal, erg;
  功率: W, kW, MW, GW, TW, mW, μW, nW, pW, hpM, ks,
  VA, kVA, MVA, GVA, TVA, mVA, μVA, nVA, pVA,
  VAR, kVAR, MVAR, GVAR, TVAR, mVAR, μVAR, nVAR, pVAR;
  电量: C, kC, MC, GC, TC, mC, μC, nC, pC, Ah, mAh;
  电势: V, kV, MV, GV, TV, mV, μV, nV, pV;
  电容: F, kF, MF, GF, TF, mF, μF, nF, pF;
  电阻: Ω, kΩ, MΩ, GΩ, TΩ, mΩ, μΩ, nΩ, pΩ;
  电导: S, kS, MS, GS, TS, mS, μS, nS, pS,
  ℧, k℧, M℧, G℧, T℧, m℧, μ℧, n℧, p℧;
  磁通量: Wb , kWb, MWb, GWb, TWb, mWb, μWb, nWb, pWb;
  磁感应强度/磁通量密度/磁通密度: T, kT, MT, GT, TT, mT, μT, nT, pT;
  电感: H, kH, MH, GH, TH, mH, μH, nH, pH;
  光通量: lm;
  照度/照明度: lx;
  放射性活度: Bq, kBq, MBq, GBq, TBq, mBq, μBq, nBq, pBq, Ci, Rd;
  吸收剂量: Gy, kGy, MGy, GGy, TGy, mGy, μGy, nGy, pGy;
  等效剂量: Sv, kSv, MSv, GSv, TSv, mSv, μSv, nSv, pSv;
  催化活性: kat;
- +非米制单位 (英制/美制):
  质量: gr, dr, oz, lb (或 lbm, lb_m), kipm (或 kip_m), st, qr,
  cwt (或 cwt_UK, cwt_US), ton (或 ton_UK, ton_US), slug;
  长度: th, in, ft, yd, ch, fur, mi, ftm (或 ftm_UK, ftm_US),
  cable (或 cable_UK, cable_US), nmi, li, rod, pole, perch, lea;
  速度: mph, knot;
  温度: °F, Δ°F, °R;
  面积: rood, ac;
  液体体积: fl_oz, gi, pt, qt, gal, bbl, 或:
  fl_oz_UK, gi_UK, pt_UK, qt_UK, gal_UK, bbl_UK,
  fl_oz_US, gi_US, pt_US, qt_US, gal_US, bbl_US;
  干体积: (US) pt_dry, (US) qt_dry, (US) gal_dry, (US) bbl_dry,
  pk (或 pk_UK, pk_US), bu (或 bu_UK, bu_US);
  力: ozf (或 oz_f), lbf (或 lb_f), kip (或 kipf, kip_f), tonf (或 ton_f), pdl;
  压强: osi, osf psi, psf, ksi, ksf, tsi, tsf, inHg;
  能量/功: BTU, therm, (或 therm_UK, therm_US), quad;
  功率: hp, hpE, hpS;
- 自定义单位 .单位符号 = 单位的表达式.
  单位符号可以包含如下货币符号: €, £, ₤, ¥, ¢, ₽, ₹, ₩, ₪.