Windows设置

more ...

描点画图

等距描点画图

\begin{align} \Delta l&=\sqrt{\Delta x^2+\Delta y^2}=C\\ \Rightarrow \Delta x&=\frac{\Delta l}{\sqrt{1+y'^2}} \end{align}

等角描点画图

\begin{align} \theta&=\arctan\frac{\Delta y}{\Delta x}\\ \delta\theta&=C\\ \Rightarrow \Delta x&=\delta\theta\Big/\frac{y''}{1+y'^2} \end …

more ...

Network Programming

IP(Internet Protocal) Address

  • Generally, it is stored(Big endian) in a struct in_addr rather than a scalar value.

    struct in_addr {
      unsigned int s_addr; /* Network byte order (big-endian) */
    };
    
  • To convert endianess between local machine word and in_addr struct, we need functions

    #include <netinet/in.h>
    //Returns: value in network byte …
more ...

健壮性拟合

大概等于Hough变换。

Sub Quadratic Loss Function

$$L_k(x)=\frac{x^2}{1+|x|^{2-k}}, \quad 0\leq k\leq 2$$

$$\lim_{x\to0} L_k(x)=x^2,\quad \lim_{x\to\infty} L_k(x)=x^k$$

At $|x|^{2-k}\ll 1$, it is $x^2$. That is $|x|<e^{-C/(2-k …

more ...

分钱问题

设总钱数为$M$,总人数为$N$,第$i$个人的钱数为$m_i$。

我们需要随机抽满足以下约束的格点$(m_1,\ldots, m_N)$: $$\sum_{i=1}^N m_i = M, m_i\ge 0$$

$m_i$为第$i$个人的钱数,

  • 求第$i$个人的钱数$m_i$取值的概率分布
  • 求对某固定钱数$m$,抽到这个钱数的人的数量$n_m=\sum (m_i = m)$

每个人的钱数分布

首先,定义归一化钱数$x_i=m_i/M$。如果我们取极限近似,假设钱数足够大即$M\gg n$,那么$x_i …

more ...


Covariant Linear Fit

Aim

Minimize $$\sum_i \mathrm{distance}^2(\vec r_i, \mathrm{line})=\sum_i (\vec r_i\cdot \hat n-\rho)^2$$ for line $\vec r\cdot \hat n-\rho=0$. It is equivalent to

  • The principle axis with least moment of inertia
  • The eigenvector with largest eigenval for the covariance matrix

When is …

more ...

Convert str(array) back to numpy array

If we print a numpy array, which actually use str(), we will find it almost irreversible.

In [5]:
l=arange(16).reshape(4,4)
print('l is printed as:\n', l)
l is printed as:
 [[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]
 [12 13 14 …
more ...

又双叒叕——汉字的堆叠

你可能会有这样的问题:类似“又双叒叕”这样子的汉字有多少?本文就是对此问题的分析。

数据来源

原始数据来源于参考维基百科条目二叠字三叠字四叠字

格式化后的的数据,参见源文件

本页面含有Unihan新版用字。有关字符可能会错误显示,详见Unicode扩展汉字。

数据分析

使用pandas进行数据表连接查询,可以找到同时具有多种叠字的字。

In [2]:
import pandas as pd
from functools import reduce
In [3]:
data=[pd.read_table('%d.txt'%i) for i in range(2, 5)]
In [4]:
def merge_out(x …
more ...