2011年10月11日星期二

为什么没有IPv5?

其实,IPv5是有的,只不过仅限于实验和过渡,并不会推向市场。请看:

IPv4: Currently used by most network devices. However, with more and more computers accessing the internet, IPv4 IPs are running out quickly. Just like in a city, addresses have to be created for new neighborhoods but, if your neighborhood gets too large, you will have to come up with an entire new pool of addresses. IPv4 is limited to 4,294,967,296 IPs.

IPv5: This is an experimental protocol for UNIX based systems. In keeping with standard UNIX (a computer Operating System) release conventions, all odd-numbered versions are considered experimental. It was never intended to be used by the general public.

IPv6: The replacement for the aging IPv4. The estimated number of unique IPs for IPv6 is 340,282,366,920,938,463,463,374,607,431,768,211,456 (or 2^128).

来自: http://www.whatismyip.com/#ixzz1aR9kgprq

2011年6月18日星期六

MATLAB随笔——图形的旋转放缩

使用MATLAB可以对图形进行旋转和放缩,这一切都是依赖这样一个矩阵

以下是示例代码,作用是绘制一个等边三角形,并不断迭代旋转缩小:

所得结果如下:


如果需要逆时针旋转,只需使用A的逆矩阵A^(-1)即可。

2011年6月1日星期三

使用Verilog实现一个自校正环形计数器

A Self-reset Ring Counter realized using Verilog HDL


题目来自《Digital Design:Principles and Practices》。
This problem is from Digital Design:Principles and Practices
8.56.写出状态为1111 1110,1111 1101, 1111 1011, 1111 0111, ……, 0111 1111, 1111 1110, ……的8位自校正计数器的VHDL或Verilog程序。要求计数器具有复位输入和时能输入,当复位信号有效是计数器回到初始状态,只有当时能信号有效是才计数。

本设计选择使用Verilog硬件描述语言,选择Altera Quartus II 软件作为编译工具。
在下边的代码中,复位端子RST和使能端子ENA均为高电平有效,均为同步输入端。

The following code snippet is hosted on Github Gist.

2011年5月26日星期四

我的TeX手札之 源代码引用和语法高亮

LaTeX自带的『原文照排』的verbatim环境的确不错,但是其功能略显简略,不能满足我们引用各种源代码的高级要求。本文介绍一下宏包listing的使用,并给出引用源代码并作高亮显示的TeX代码示例。
通常地,我们引用源代码的要求有:
  • 字体样式与正文有明显区分,美观大方
  • 可以标注代码行号
  • 可以添加背景色,可以添加边框
  • 可以对援引源代码进行语法高亮
那么listing宏包一定是你非常好的选择!

listing宏包支持代码上色的语言非常之多,目前所支持的语言有:
ABAP    IDL    Plasm    ACSL    inform    POV    Ada    Java    Prolog
Algol    JVMIS    Promela    Ant    ksh    Python    Assembler    Lisp    R
Awk    Logo    Reduce    bash    make    Rexx    Basic    Mathematica    RSL
C    Matlab    Ruby    C++    Mercury    S    Caml    MetaPost    SAS
Clean    Miranda    Scilab    Cobol    Mizar    sh    Comal    ML    SHELXL
csh    Modula-2    Simula    Delphi    MuPAD    SQL    Eiffel    NASTRAN    tcl
Elan    Oberon-2    TeX    erlang    OCL    VBScript    Euphoria    Octave     Verilog
Fortran    Oz    VHDL    GCL    Pascal    VRML    Gnuplot    Perl    XML
Haskell    PHP    XSLT    HTML    PL/I
当然,这个语言列表可能会随时间推移而逐渐庞大,如果你所援引的语言暂时不在上述之列,你仍可以自定义语法高亮的规则,不过,这便不再本文讨论之范畴。

以下给出的是使用了listing宏包的TeX代码示例,该代码可以使用LaTeX,pdfLaTeX,XeLaTeX等编译通过。


有关这个示例的TeX源文件以及排版结果之DVI档,PDF档,请移步:
https://docs.google.com/leaf?id=0ByIYMq1zOBB4NzJlNmJmMWYtZmU2ZS00NGJlLTliOWUtODc0NjJhZGY5YWIw&hl=zh_CN

2011年5月7日星期六

我的XeTeX/LaTeX手札 之 DIY模板篇

本文未完成……

本文的目的是整理一些常见的XeTeX/LaTeX页面设置,段落设置,字体设置等各种格式上设置所需要的一些代码,以方便自己日后制作模板。

页面设置

纸张大小

不用加载任何宏包就可以很容易的设置纸张大小,只需在documentclass加入关于纸张大小的选项即可。
\documentclass[a4paper]{article}
默认就是a4
其他可用的选项还有
  • a4paper (297mm * 210mm)
  • a5paper (210mm * 148mm)
  • b5paper (250mm * 176mm)
  • letterpaper (11in * 8.5in)
  • legalpaper (14in * 8.5in)
  • executivepaper (10.5in * 7.25in)
这些选择内部实际上是设置 \paperheight 和 \paperwidth 两个值。手动设置的方式是
\setlength\paperheight{高度}
\setlength\paperwidth{宽度}

使用geometry宏包

使用geometry宏包,可以让页边距和页眉页脚的设置变得非常简单
\documentclass[a4paper]{article}
\usepackage{geometry}
\geometry{left=2.5cm,right=2.5cm,top=2.5cm,bottom=2.5cm}
\begin{document}
test
\end{document}

2011年4月13日星期三

Karnaugh Map Minimizer exe. for up to 8 inputs | 最多八输入卡诺图化简程序

最近正在学数字逻辑设计《数字设计原理与实践》,有关卡诺图化简的问题,有时候不能看出来最简单的画法,尤其是对多输入(5输入以上),于是乎在网上搜索到了一个卡诺图化简器。


软件最多化简8输入的卡诺图,结果以文字和图形同时显示。
软件名称:Karnaugh Map Minimizer   Alpha 

界面语言:英语、克罗地亚语
授权形式:GPL
项目地址:http://k-map.sourceforge.net/
下载地址:http://sourceforge.net/projects/k-map/

2011年4月6日星期三

使用MATLAB计算北京到纽约的新旧航线里程

数学实验的PPT课件参见百度文库
http://wenku.baidu.com/view/2eda008884868762caaed5a6.html
本文给出了实验的示例程序以及输出结果。

以下是mlab21.m的代码,用于计算北京到纽约的航线例程:

执行mlab21后得到以下结果
Dmatrix =
             0       1144.90       2155.64       9608.53      10993.77
       1144.90             0       1766.78       9936.44      11870.27
       2155.64       1766.78             0       8283.06      10764.64
       9608.53       9936.44       8283.06             0       4061.47
      10993.77      11870.27      10764.64       4061.47             0
可以清楚的看到,北京直飞纽约的航线例程为10993.77km,
而旧航线里程为1144.90+1766.78+8283.06+4061.47= 15256.21 (km).
假设飞机按照统计的平均时速980km/h匀速前进,那么新航线比旧航线至少节约了4.35小时,这尚未包含在各个中转站花费的候机时间。

以下是mlab22.m的代码,用于在球面上绘制新旧航线:


这一段程序调用了skyway(p1,p2,color)函数,代码如下:


执行mlab.22之后,可以在Figure(1)窗口中看到绘制的新旧航线图:
视角一(示太平洋)
视角二(示北极)

2011年4月3日星期日

鉴别真假逻辑M215无线鼠标,真假对比照片

今天买一只罗技M215无线鼠标,当时有一点小不对头,就是这只鼠标在玻璃桌面上不能用,其实很多鼠标都不行的,但是先前我买的M215可以,所以有一点小疑问,但也没在意。但是回到宿舍后发现今天买的鼠标是假的,假货最怕对比,只要一对比,真假立现!
这是我今天买的罗技M215,假货,正面外观与真货没有任何区别,看来我这次大意了。
下面就来对比一下真货和假货:
真:正面贴有防伪标签
假:同样位置却贴着『25m』,正面没有贴防伪


真:标签印刷清晰可辨
假:标签印刷模糊不清,中间有圆形突起
真:塑料质感好,左下角可以窥得电路板一角,绿色的。
假:塑料质量不好,照片看不出来。电池盖弹出按钮有明显段程感。
真:窥视里面的电路板,做工精细,绿色的板子。
假:里面的板子是普通的,没有绿色阻焊层,板上蓝色的是电容

总结一下鉴别真假的办法吧:
1、真货标签印刷清晰,假货印刷粗糙。
2、真货里面的塑料质感很好,假货里面的塑料比较粗劣。
3、真货内部是涂有绿色阻焊漆的双面板,假货内部是单面板,原件面看不到阻焊。
4假货附赠的电池是劣质555电池。
5、真货开关下面有红绿色区分开启关闭状态,假货没有。
6、开启鼠标开关后,真货指示灯绿色常亮若干秒熄灭,连续使用时指示灯不亮。假货红绿交错闪烁一次,绿色闪烁若干次后熄灭,连续使用时红色闪烁。
7、目前我见到有3种外包装,我第一次买的真货,包装正面有防伪没有『25m』;今天买的假货包装正面有『25m』防伪在背面;京东商城等地的包装正面同时有『25m』和防伪。目前Google搜索『罗技M215』得到的图片大多数是正面贴有『25m』而没有防伪的,他们全部是假货?诅咒生产销售假货的人们!!

 最简单的官方鉴别方法:
固定电话查询: 拨打800-820-7199(免费电话查询)
短信查询: 编辑短信发送到106695882108(暂时不支持133、153、189等新号段)
网站查询: www.logitech.com.cn/antifake
请记下这些地址,防止被假冒的网站或者网站欺骗。



2011年3月29日星期二

简单C语言快速计算真值表!

正在学数字逻辑的我,实在厌倦了那些纯粹推演真值表的题目,太无聊了!于是为了偷懒一下,编写了一下小程序……

The follwing code snippet is hosted on Github Gist.
在程序中,使用到了几个逻辑算符,取反INVERT『~』逻辑与AND『&』逻辑或OR『|』,它们跟 非『!』逻辑与『&&』逻辑或『||』的区别是,前者是对二进制操作数的每一位进行操作,而后者则是把操作数当作一个整体进行运算。
如果你如要更多或者更少的变量,或者你需要计算其他的表达式,简单地按照这个模板进行更改即可,这并不困难~
之所以选择C-FREE编程环境,是因为他比Turbo C++或者Borland C要友好的多,而且是免费的。如果你对编程环境|编译器了解不多,那建议你使用C-FREE。

2011年3月27日星期日

谷歌最大的价值|Google‘s Biggest Value

与非:

Google给我们的最大价值,除了信息流动加速,就是信息永存。当我写完这篇blog,发布在我的blog上,按下"发布"之后的几分钟,各种蜘蛛就会蜂拥而至,把这篇文章复制若干次,存在这世界的各个角落。这文章即永存。无法被某个组织控制或删除,也无法阻止其流动。公关公司不行,某个国家政府也不行。孙云丰的言论,和百度其他员工的言论,也将和这篇文章一样,被永存,成为历史的一部分。

Joeyao:

只要你博客里写的东西是原创有价值的,是很容易杀进Google搜索第一页的,百度却不行

与非:

没错,Google的算法是保护原创的,就算你的Blog是个小站点,在一篇文章被多次转载后,其搜索结果通常也会出现在前排。
百度……算了,没有讨论的必要。

数理统计复习提纲

本文原文在Google Docs共享:http://docs.google.com/document/d/1bQrUeWOrVjReZVrVeCZKwYa-PCEvz_vN-s1rvQBqDUo/edit?hl=zh_CN&authkey=COfF3OEM


数理统计复习提纲

Joeyao

第六章 数理统计的基本概念

数理统计学时用概率论和数学地方法,研究如何以有效地方式收集带有随机误差的数据,并在设定的模型之下,对这种数据进行科学的分析,从而对研究的问题做出推断。

一、考纲要求

1、理解总体、样本、统计量的概念,了解样本矩的概念,掌握样本均值和样本方差的计算
2、知道2分布、t分布、F分布的定义,掌握着三个分布的构成定理及相关的查表计算
3、了解抽样分布的概念,掌握关于单个和两个正态分布的抽样分布定理

二、重点点击

(一)总体、样本与统计量

总体是所研究对象的全体构成的集合,组成总体的每一个基本元素成为个体。
总体就是具有相应概率分布的随机变量X。而从总体中随机抽取的n个个体X1,X2,X3,··,Xn,组成一个样本,样本是相互独立且都与总体X同分布的一组随机变量。·
样本中个体总数n成为样本容量。
样本常用的数字特征:
样本均值X、样本方差S2、样本k阶原点矩Ak、样本k阶中心矩Mk、样本协方差cov(X,Y)、样本相关系数R。具体公式参见课本。请注意与总体的期望E(x)、方差2、总体k阶原点矩k、总体k阶中心矩k的区别于联系。

(二)三个重要分布

三个重要分布在书里统计中占据着举足轻重的地位,但需要注意的是,三个重要分布的分布函数并不需要记忆,了解即可,关键在于掌握三种重要分布的构成法,以及熟练掌握相关分布的证明题。

1、2分布

构成定理:设X1,X2,X3```Xn都服从标准正态分布,记2=i=1nXi2,则2~2(n),其中n为自由度。
2分布具有如下的性质:
若2~2(n),则E(2)=n,D(2)=2n;
若Y1,Y2相互独立且Y1~2(n1),Y2~2(n2),则Y1+Y2~2(n1+n2)
当n足够大(n>45)的时候,2(n)n+u2n

2、t分布

构成定理:设随机变量X,Y相互独立,X~N(0,1),Y~2(n),记T=XYn,则T~t(n).
当n足够大的时候,T近似的服从标准正态分布,故当n>45时,tu.

3、F分布

构成定理:设随机变量X,Y相互独立,X~2(n1),Y~2(n2),记F=X/n1Y/n2,则F~F(n1,n2).
若F~F(n1,n2),则1FF(n2,n1),因此,有
F1-(n1,n2)=1F(n2,n1)

(三)抽样分布定理(重中之重)

1、设总体XN(,2);X1,X2,...,Xn为其样本,X为样本均值,S2为样本方差,则


X与S2相互独立
XN(,2n),U=X-/nN(0,1)
(n-1)S222(n-1)
X-S/nt(n-1)

2、设总体X,Y相互独立,X~N(1,12),Y~N(2,22),X1,X2,...,Xn1和Y1,Y2,...Yn2,分别为其样本。X,S12与Y,S22分别是样本均值和样本房差,则有

F=S12/12S22/23F(n1-1,n2-1)
当12=22=2时,有
T=[(X-Y)-(1-2)]/(S1n1+1n2)t(n1+n2-2)
其中
S=(n1-1)S12+(n2-1)S22n1+n2-2

同学们复习这一章,注意对三大重要分布的分布函数不要过分深究,而是需要牢牢掌握三大重要分布的构成定理以及抽样分布定理,这些是数理统计基础中的基础,马虎不得。

第七章 参数估计

一、考纲要求

1、了解点估计的概念,掌握矩估计法和极大似然估计法
2、理解估计量优良性的评选标准(无偏性、有效性、一致性)
3、了解区间估计的概念,会求单个正态总体的均值和方差的置信区间、两个正态总体的均值和方差比的置信区间
4、了解大样本方法构造参数的置信区间

二、重点点击

(一)参数的点估计

1、矩估计法

用样本矩估计同阶总体矩,从而确定未知参数的估计量的方法称为矩估计法。
简单说来,如果只有一个未知参数1,那么只需要使用矩估计法:一阶样本矩总体矩,即
A1=1
把A1代入1相应的表达式,即可反解出未知参数1。
如果有两个未知参数1,2,那么相似的,用样本矩估计总体矩则有同阶样本矩总体矩,
A1=1 A2=2
把A1,A2代入1,2相应的表达式,即可反解出未知参数12。依次类推……
相关概念文字参见课本。

2、极大似然估计法

对于某些情形,据估计法可能不适用,或者计算量偏大,此时,极大似然估计法则不失为一种好办法。设总体X的分布中含有未知参数12……n,X1,X2,……,Xn是来自总体的样本,x1,x2,……,xn则是相应的样本观测值,既然事件
{X1=x1,X2=x2,……Xn=xn}
已经发生,可以看成最可能出现的事件,即认为它具有最大的概率,把使该事件的概率值为最大值的参数值12……n作为位置参数的估计值

极大似然函数的构造:
如果X是离散型随机变量,P{X=x}=p(x;1,2,...,m)那么构造似然函数
L=i=1np(xi;1,2,...,m)
如果X是连续性随机变量,其概率密度为f(x;1,2,...,m),那么构造似然函数
L=i=1nf(xi;1,2,...,m),
为了计算方便,乘除化加减,对似然函数L两边同时取对数得到ln(L),列方程组寻找该函数的极值点即可.
其中,k=1,2,...,m.

(二)估计量的优良性准则

1、无偏性

无偏性要求E(=

2、有效性

有效性要求D()尽可能的低,越低的估计值越有效

2、相合性(一致性)

一致性要求当n趋向于无穷大时应依概率收敛于

(三)区间估计


设总体X的分布中含有未知参数,对给定的一个很小的整数,关于参数的所有可能取值都有P{2(X1,X2,...,Xn)2(X1,X2,...,Xn)}=1-,则称随机区间[1,2]为的置信度为1-的置信区间。
求解某个未知参数的置信区间,关键是运用抽样分布定理,构造枢轴变量。因此,三大重要分布的构造定理以及抽样分布定理必须牢牢掌握。有关各种随机变量如何构造枢轴变量,在此不再详述。

第八章 假设检验

假设检验是统计推断的重要内容,它是对总体的分布或分布函数等作某种假设,然后根据去的的样本,运用统计的方法,做出拒绝接受或者接受假设的判断

一、考纲要求

1、理解假设检验的基本思想,了解假设检验可能产生的两类错误,掌握假设检验的一般步骤
2、掌握单个和两个正态总体均值和方差的假设检验
3、了解总体分布假设的2检验法
4、了解大样本的参数检验法

二、重点点击

(一)假设检验的基本概念

1、假设检验的基本思想是:概率性质的反证法,以小概率事件原理为判断依据,首先提出假设,在假设成立的条件下,一次抽样所得的样本,其相应的有关事件是一小概率事件,如果在第一次试验中小概率事件居然发生了,从而与小概率事件原理矛盾,故应拒绝假设,否则就接受假设。
2、假设检验可能出现的两类错误
(1)若H0成立,却拒绝了H0,这种“弃真”的错误,成为第一类错误,犯第一类错误的概率就是显著水平
(2)若H0不成立,而接受了H0,这种“纳伪”的错误,成为第二类错误。其概率记为.
3、假设检验的一般步骤
(1)根据实际问题提出原假设(零假设)Ho和对立假设(备择假设)H1;
(2)确定检验统计量及其分布(或者退一步讲,近似分布);
(3)给定显著水平,根据检验统计量的分布和抽样分布定理,确定拒绝域;
(4)根据样本值计算统计量的值,与临界值进行比较,做出拒绝或接受H0的判断。

(二)正态总体参数的假设检验

这是本章的重点所在,说白了还是那三大重要分布的构成定理和抽样分布定理。

1、单个正态总体均值的检验

已知:构造U=X-0/nN(0,1)
未知:构造T=X-0S/nt(n-1)

2、单个正态总体方差2的检验

未知:构造2=(n-1)S2022(n-1)
已知:几乎不考,公式略

3、两个正态总体1-2的检验

已知:构造U=[(X-Y)-(1-2)]/12/n1+22/n2N(0,1)
未知,但知道1=2:构造
T=(X-Y)-(1-2)Sn1-1+n2-1t(n1+n2-2)
其中
S2=1n1+n2-2[(n1-1)S12+(n2-1)S22]

4、两个正态总体方差之比1212的检验

当已知时:构造
F=S12/12S22/22F(n1-1,n2-1)
当未知时:不是重点,公式略

(三)非正态总体参数的大样本检验法

1、对非正态总体X,记E(X)=,D(x)=2,X1,X2,...,Xn为其样本,检验H0:=0,H1:0.n足够大,检验统计量U=X-0/n近似服从标准正态分布。当U>2时,拒绝H0。
当未知是,以U=X-0S/n近似服从N(0,1)分布,作为检验统计量。
2、两总体X,Y,记E(X)=1,E(y)=2,检验H0:1=2,检验H1:12。
当H0成立时,n1,n2足够大时,
T=X-YS12/n1+S22/n2
近似服从N(0,1)分布。
当T>2时,拒绝H0。

(四)总体分布的假设检验步骤

1、提出原假设:总体X的分布函数为F(x)=F0(x)
如果总体X为离散型,H0:总体X的分布律为P{X=xi}=p,i=1,2,...,n
如果总体X为连续性,H0:总体X的概率密度为f(x)=f0(x)
(注意:如果总体X的分布中尚含有未知参数,则应先用极大似然估计法求出未知参数的估计值!)
2、将数轴分为k个区间(-,a1],(a1,a2),...,(ak-2,ak-1),(ak-1,+].
计算p1=F0(a1),p2=F0(a1)-F0(a2),...,pk=1-F0(ak-1)
记i为n个样本值,x1,x2,...,xn中落在第i个区间的个数,即频数,选取统计量
2=i=1k(i-npi)2npi
当n充分大时(n>=50),若N0成立,2近似服从2(k-r-1)分布。其中r为未知参数的个数。
3、给定显著水平,确定拒绝域
2>02(k-r-1)
4、在H0成立的条件下,有样本值x1,x2,...,xn,计算统计量的值2,与临界值比较,做出拒绝或是接受H0的判断。

第九章 回归分析

一、考纲要求

1、了解变量之间的相关关系
2、理解回归方程的基本思想方法
3、掌握一元线性回归的参数估计和显著性检验方法
4、了解多元线性回归的参数估计和显著性检验方法;
5、掌握非线性回归问题的线性化处理方法

二、重点点击

1、两个变量之间的相互关系

两个变脸之间存在某种制约关系,又没有达到可由一个变量确定另一个变量的程度,称它们之间具有相关关系。相关关系也存在于一个变量与多个变量之间。

2、回归分析及其思想方法

回归分析是研究和处理变量相关关系的数理统计方法,设Y是考察目标变量(称为因变量),X1,X2,...,Xk是与变量Y有关系的若干变量(称之为自变量),建立回归分析模型的思想方法是将Y表示成自变量X1,X2,...,Xk之值x1,x2,...,xk决定的一部分与随机误差的和,通常假定的均值为0,方差存在,即有
Y=(x1,x2,...,xk)+,E()=0,D()=2
有时更进一步的假定N(0,2).这样得到的模型称为Y与X1,X2,...Xk的回归模型,特别的,当k=1即只有一个自变量X时,称为一元回归模型。另外对应的还有多元回归模型。

3、回归方程与回归方程

函数(x1,x2,...,xk)被称为Y对X1,X2,...,Xk的回归函数,由它确定的方程
y=(x1,x2,...,xk)
称为回归方程。确定的回归方程在一定的程度上反映了变量Y与X1,X2,...Xk之间的不确定的相关关系。

4、线性回归分析

当回归函数为线性函数时,代表一类最常见且十分重要的情形,这就是回归分析中理论体系发展最完善的线性回归分析。但是,用线性回归函数描述Y与X1,X2,...,Xk之间的相关关系是否合理,需要进行相应的假设检验

5、一元线性回归分析

回归模型
Y=a+bx+,E()=0,D()=2
就是一元线性回归模型了。若N(0,2),则称为一元正态线性回归模型。其中a成为回归常熟,b成为回归系数。

参数a,b,2的估计通常使用最小二乘法。
b=lxylxx        a=y-bx
误差的方差2无偏估计量为
2=1n-2(lyy-b2lyxx)
其中,
x=1ni=1nxi      y=1ni=1nyi
lxy=i=1n(xi-x)(yi-y)=i=1nxiyi-nxy
lxx=i=1nxi2-nx2      lyy=i=1nyi2-ny2

另外值得注意的是,即使得到了参数的估计值,仍然需要进行假设检验之后才能判断这个模型的构建是否合理。常用的检验方法有:基于离差平方和分解的检验以及相关系数的检验。如果题目没有要求具体使用那个检验方法的话将爱难以使用相关系数检验,毕竟大家的计算器都是可以计算相关系数的。

总离差平方和:
QT=lyy=i-1nyi2-ny
QR=b2lxx
QE=lyy-b2lxx
相关系数:
R=lxylxxlyy

最后,需要讲一下利用变量替换讲非线性回归问题线性化。在确定了回归函数的具体形式之后,有时候可以利用变量替换将非线性的回归函数的估计转换成线性回归的参数估计。


本文的共享连接:http://docs.google.com/document/d/1bQrUeWOrVjReZVrVeCZKwYa-PCEvz_vN-s1rvQBqDUo/edit?hl=zh_CN&authkey=COfF3OEM