如何制作 wolfram 和 symbolab 可以读取的矩阵(最好通过 lyx) dsafds

如何制作 wolfram 和 symbolab 可以读取的矩阵(最好通过 lyx) dsafds

我希望能够在 lyx 中直观地编写数学方程式,然后将其复制到 wolfram 和 symbolab 中来计算答案。例如,我可以复制

\left(-1-\lambda\right)\cdot\left(1-\lambda\right)\left(-\lambda\right)+3

进入这些网站,他们将能够阅读并给我答案,但他们不明白

\begin{pmatrix}1 & 0 & 1\\
0 & 0 & 1\\
-3 & 1 & 3
\end{pmatrix}\cdot\begin{pmatrix}1 & -1 & 0\\
3 & -6 & 1\\
0 & 1 & 0
\end{pmatrix}

您对如何格式化以便这些网站能够解决问题有什么建议吗?

答案1

Wolfram Alpha 可以识别\cdot,但它不是完整的 TeX 解析器。Wolfram Alpha 中的矩阵语法示例(示例 > 数学 > 矩阵与线性代数):

{{6, -7, 10}, {0, 3, -1}, {0, 5, -7}}

以下示例定义了一个宏\wapmatrix,它将嵌套的逗号分隔列表作为矩阵,就像 Wolfram Alpha 的语法一样,并将矩阵写入屏幕/.log文件输出。它还将矩阵转换为 LaTeX 并在环境中设置矩阵pmatrix

\documentclass{article}
\usepackage{amsmath}
\usepackage{kvsetkeys}

\makeatletter
\newif\ifwa@first@row
\newif\ifwa@first@cell@in@row
\newcommand*{\wapmatrix}[1]{%
  \toks0={\begin{pmatrix}}%
  \toks2={}%
  \wa@first@rowtrue
  \comma@parse{#1}\wa@parse@rows
  \toks0=\expandafter{\the\toks0 \end{pmatrix}}%
  \toks2=\expandafter{\expandafter{\the\toks2}}%
  \typeout{\the\toks2}%
  \the\toks0 %
}
\newcommand*{\wa@parse@rows}[1]{%
  \ifwa@first@row
    \wa@first@rowfalse
  \else
    \toks0=\expandafter{\the\toks0 \\\relax}%
    \toks2=\expandafter{\the\toks2 ,}%
  \fi
  \wa@first@cell@in@rowtrue
  \toks4={}%
  \comma@parse{#1}\wa@parse@cells@in@row
  \toks2=\expandafter{\the\toks2\expandafter{\the\toks4}}%
}
\newcommand*{\wa@parse@cells@in@row}[1]{%
  \ifwa@first@cell@in@row
    \wa@first@cell@in@rowfalse
  \else
    \toks0=\expandafter{\the\toks0 &}%
    \toks4=\expandafter{\the\toks4 ,}%
  \fi
  \toks0=\expandafter{\the\toks0 #1}%
  \toks4=\expandafter{\the\toks4 #1}%
}

\newcommand*{\wacdot}{%
  \typeout{\string\cdot}%
  \cdot
}

\begin{document}
\[
  \typeout{--- WA begin ---}
  \wapmatrix{
    {0, 0, 1},
    {-3, 1, 3},
    {1, 2, 3}
  }%
  \wacdot
  \wapmatrix{
    {3, -6, 1},
    {0, 1, 0},
    {1, 2, 3}
  }
  \typeout{--- WA end ---}
\]
\end{document}

结果

屏幕/.log文件:

--- WA begin ---
{{0,0,1},{-3,1,3},{1,2,3}}
\cdot
{{3,-6,1},{0,1,0},{1,2,3}}
--- WA end ---

然后可以将标记之间的文本剪切并粘贴为查询 Wolfram Alpha

Copyable plaintext:

(1 | 2 | 3
-6 | 25 | 6
6 | 2 | 10)

Wolfram Language plaintext output:

{{1, 2, 3}, {-6, 25, 6}, {6, 2, 10}}

然后可以将其复制回 LaTeX 文件:

  \typeout{--- WA end ---}
  =
  \wapmatrix{{1, 2, 3}, {-6, 25, 6}, {6, 2, 10}}
\]

结果

相关内容