窗

Use Wolfram Engine and Jupyter / VSCode to code on low perf device

Preface

Recently I got my Surface Go back to my life again – a Surface Go 2. Unfortunaly, there’s little perfermance imporve comapare to Go 1. I can’t imagine the bad experience to use a full version Mathematica on a Golden Pentium Dual Core 1.7GHz weaky CPU.
So I turn to find tricks to help me buil[……]

继续阅读

又来看看树吧~

树的概念

什么是树?

树属于非线性数据结构的一种,概念也极多,是由结点或顶点和边组成的且不存在着任何环的一种数据结构。
没有结点的树称为空树。一棵非空的树包括一个根结点,还很可能有多个附加结点,并且所有结点构成一个多级分层结构

树的定义

n个节点组成的有限集合。n=0,空树;n>0,1个根节点,m个互不相交的有限集,每个子集为根的子树,如图所示为一颗树:

树的基本术语

  • 节点的度: 树中某个节点的子树的个数;
  • 树的度: 树中各节点的度的最大值;
  • 分支节点: 度不为零的节点;
  • 叶子节点: 度为零的节点;
  • 路径: i->j;
  • 路径长度: 路径经过节点数目减1;
  • 孩子节点: 某节点的[……]

    继续阅读

小车控制能量最优问题的解决(Use MMA)

最近看的最优控制一书很有趣, 前几章竟然使用了和其他数学书相反的方法, 先给你描绘一幅全景图,再一步一步深入分析和计算,让人在刚开始的时候感觉有点不知公式所云何物(但总比全书都无法理解来的要好很多)。在第二章,介绍完Euler和Lagrange的变分学想法之后,就遇到了一个小车控制的问题。

问题

小车的状态方程为

\dot x_1(t)=x_2(t)\\
\dot x_2(t)=u(t)\\
t_0=0,t_f=2

要将状态初始时刻的x(t_0)=[-2,1]^T到达终点为原点的x(t_f)=[0,0]^T,
并要最小化控制能量

J(u)=\frac{1}{2}\int_{t_0}^{t_f}[......]

继续阅读

Euler-Lagrange方程与Hamilton方程组

引子

在之前的三种特殊情况下, EL方程都可化为一阶常微分方程, 但对有n维状态变量的n个EL方程组, 在特殊情况下我们会得到n个一阶方程.

Hamilton方程组

Hamilton考察更一般的情况, 将二阶的EL方程转化为一阶的力学Hamilton方程组:

\begin{aligned}
\dot x = +\frac{\partial{H}}{\partial{p}}\\
\dot p = -\frac{\partial{H}}{\partial{p}}
\end{aligned}

此时, 方程的数量增加为2n.

区别

考虑到最优控制问题和变分问题的区别在于是否有控制变量和状态方程,只需[……]

继续阅读

Euler-Lagrange方程的求解

Euler-Lagrage方程

\frac{\partial{g}}{\partial{x}}(x(t),\dot{x}(t),t)-\frac{\mathrm{d}}{\mathrm{d}t}[\frac{\partial{g}}{\partial{\dot{x}}}(x(t),\dot{x}(t),t)]=0

g二阶连续可微时,进一步上式的后项展开,得到:

\begin{array}{l}
\frac{\partial g}{\partial x_{i}}(x(t), \dot{x}(t), t)-\sum_{j=1}^{n} \frac{\partial^{2} g}{\partial[......]

继续阅读

面部识别和匹配的实现记录

上一篇提到FacenetEvo使用detect_face(PIL.Image img)方法实现MTCNN下PRO网络的面部识别,而我使用OpenCV得到的帧输入为CV::Mat格式,需要进行一次BGR to RGB的转换再转为PIL Image

其次是输出框选的图片的方法

这个方法接受一个PIL Image最后输出被框选的图片。

由于我最后采用OpenCV作为输出画面,所以还需要将boxedImg转换为Mat。

也就是说,在这个过程中,Mat需要被转换为PIL Image再转回Mat输出,这样会产生不必要的性能损失。所以我将show_results方法重写

[……]

继续阅读

内核崩塌

1

好故事通常有出人意料的结局,反过来,不好的故事,收场总是平平淡淡吗?

如果有一篇平平淡淡的好故事,如果是我,我会写出什么呢?

就在一分钟内,我的想法已经从写出一篇结局令人惊叹的好故事,层层转移到了费曼的历史求和和路径积分上了。

中间的过程,全部都会被我隐藏,而我的结论描绘出了拥有所有可能的可能。

很显然,这没有意义,但是却十分吸引人,吸引我。

这种隐去所有中间步骤的感觉,让人摸不着头脑,包括这里,他还在继续作用着我。可能这就是我的习惯——想用其他事情来证实想法,可结果却是不断向艰深之处走去,又干脆地抛弃了前面的全部过程,留下两幅不相干的画面让人猜测。考虑[……]

继续阅读