我想创建矩阵的行列式解。我的想法是什么?点击此处例如在此链接中,创建了如何查找矩阵的行列式。我想将其制作成动画,每一步都是如此。制作动画很容易,但问题是,当我想制作动画时,我想像应用程序一样制作动画。因此,当您将矩阵中每个节点的值更改为数字时,它将解决行列式。我想在学校里将它用于学生,我相信,这样可以帮助想象它在做什么。此外,当我更改节点时,我们可以将它应用于每个具有 3 x 3 维度的矩阵。
我尝试编写一些算法并应用它,但我们一个月前才开始使用 LaTeX,所以我的经验和技能不适合这种工作。
我得到的是:
\documentclass{article}
\usepackage{latexsym,amssymb,amsmath,amsfonts,amsthm,upref,indentfirst,graphicx,eucal,makeidx}
\usepackage{mathtools, nccmath, textcomp} %mfrac
\usepackage{enumerate}
\usepackage[dvipsnames,svgnames]{xcolor}
\usepackage{tcolorbox,picture}
\usepackage[slovak]{babel}
\usepackage[utf8]{inputenc}
\usepackage[IL2]{fontenc}
\usepackage{supertabular}
\usepackage{emptypage}
\usepackage{multicol,multirow}
\usepackage{tabularx}
\usepackage{cancel}
\theoremstyle{plain}
\newtheorem{theorem}{Theorem}
\newtheorem*{theorem*}{Theorem}
\theoremstyle{definition}
\newtheorem{example}[theorem]{Príklad}
\usepackage{animate}
\usepackage{tikz}
\usetikzlibrary{matrix,patterns,arrows,decorations.pathreplacing}
\begin{document}
\begin{tikzpicture}
\useasboundingbox(-5,-9) rectangle(15,5);%nastavenie prac.ploch.
\draw [help lines, dashed,step=1cm] (-5,-9) grid(10,10); %pom.čiar
\fill [red] (0,0) circle[radius=3pt]; %vyznačenie [0,0]
\def\a{{{11,12,13},{41,52,63},{77,88,99},{11,12,13},{41,52,63}}};
\def\print#1{\pgfmathparse{#1}\pgfmathresult};
\def\scitanie{\a[1][1]*\a[2][2]*\a[3][3], %sčítanie prvkov
\a[2][1]*\a[3][2]*\a[1][3],
\a[3][1]*\a[1][2]*\a[2][1]};
\def\odcitanie{\a[1][3]*\a[2][2]*\a[3][1], %odčítanie prvkov
\a[2][3]*\a[3][2]*\a[1][1],
\a[3][3]*\a[1][2]*\a[2][1]};
\def\zacx{4};
\def\zacy{2};
\def\pole{0.2};
\def\identitymatrix{{{11,12,13},{41,52,63},{77,88,99}}}
\foreach \i in {0,1,2} \foreach \j in {0,1,2}
\node at (\i,-\j) [anchor=base] {\print{\identitymatrix[\i][\j]}};
\foreach \i in {1,2,3}{
\foreach \j in {1,2,3}{
\node at (1,-4) {\a(\i)(\j)};
\ifnum \j<3
\node at (1,1) {*};
\fi
};
\ifnum \i=3
\node at (1,1) {=};
\else
\node at (1,1) {+};
\fi
};
\foreach \i in {1,2,3}{
\foreach \j in {3,2,1}{
\node at (1,-1) {(\a[\i-\j+3][\j])};
\ifnum \j>1
\node at (0,1) {*};
\fi
};
\ifnum \i=3
\node at (1,1) {=};
\else
\node at (2,1) {-};
\fi
};
\foreach \i in {1,2,3}{
\node at (2,-2) {\scitanie[\i]};
\ifnum \i<3
\node at (2,-3) {+};
\else
\node at (2,-4) {-};
\fi
};
\foreach \j in {3,2,1}{
\node at (3,-5) {\odcitanie[\j]};
\ifnum \j<3
\node at (3,-6) {-};
\else
\node at (3,-7) {=};
\fi
};
\end{tikzpicture}
\end{document}
我有问题,然后它没有返回我创建的矩阵\a
中的值。它只返回完整的矩阵 a,但不是我想要的。在那里你可以看到 TikZ 手册中的示例,其中有这个书面矩阵。可以对矩阵中的值进行操作。它应该做什么:我想读取矩阵中的值,就像规则所说的那样:例如:我们有矩阵 [1 2 3][4 5 6][7 8 9],所以它将执行 1*5*9+4*8*3+7*2*6-3*5*7-6*8*1-9*2*4 = 45+96+84 .... 等,最后它将写入结果(行列式)。完成所有这些后,我想使用并为其制作动画。我已经用命令完成了,但我想让它通用。如果可能的话,现在我处于这种情况,那么我真的不知道它在 LaTeX 上是否能起作用。相反,也许求解 2 x 2 矩阵的行列式更为现实,所以如果这行不通,我会选择这种方式。最后,感谢大家的回答和帮助。\i
\j
\multiframe
\newframe
已编辑:添加了完整代码。注意:我没有那么多代码,而且我得到的代码无法正常工作。
还有例子: