Newton-Raphson Method

曲线f(x)有根c,取曲线上一点$(x_1,f(x_1))$, 过此点的切线交x轴$x_2$,过曲线上$(x_2,f(x_2))$的切线交x轴$x_3$,如此反复得到一个序列 $x_1,x_2,\cdot \cdot \cdot,x_n$ 逼近c值.

过$(x_n,f(x_n))$的切线方程为 $y-f(x_n) = f’(x_n)\,(x-xn)$,假设此方程与x轴的交点为$x{n+1}$, 即有: $0 - f(x_n) = f’(x_n)(x_n+1 - xn)$, 即$x{n+1} = x_n - \frac{f(x_n)}{f’(x_n)}$ <Eq. 1>.

下面利用此法来求一个数的开方。 $f(x) = x^2 - a$ 有根$\sqrt{a}$, 由$f’(x_n) = 2xn$, 代入式<Eq. 1>可得$x{n+1} = (x_n + a/x_n)/2$; 当i -> INF 时, $x_i$ -> $\sqrt{a}$;

C implementation

Continue reading

我制作的pkgsrc

xlyrics: unix下的歌词秀软件   

点此下载

EVA: KDE下的QQ客户端     

点此下载

#cd /usr/pkgsrc/wip-cn 
#tar xjvf eva.tar.bz2 
#cd eva 
#make install clean

就可以啦。在我的机子(NetBSD 3.0.1 macppc)上测试通过。。 更新到eva-20070327

Continue reading

#disklabel wd0

可以看到原始分区如下: 7 partitions:

#        size    offset     fstype [fsize bsize cpg/sgs]
a:  20971520  25167648     4.2BSD      0     0     0  # (Cyl.  24967*-  45772*)
b:   1048576  46139168       swap                     # (Cyl.  45772*-  46813*)
c: 117210240         0     unused      0     0        # (Cyl.      0 - 116279)
d:  25165824      1824        HFS                     # (Cyl.      1*-  24967*)
e:  28079456  89130784        HFS                     # (Cyl.  88423*- 116279)
g:  41943040  47187744     4.2BSD      0     0     0  # (Cyl.  46813*-  88423*)

a为netbsd的/分区,b为swap分区,c为整个硬盘,d为mac os的系统盘。e为两系统共享分区(在os9下格式化为fat),g为netbsd下的/home分区。 原本是两系统,os9.2一直都很少用,所以想删了,腾出空间来放数据。因为wd0d和wd0e不在连续的柱面上,所以无法将它们合并。

新的分区方案如下:wd0d删了,分成两个,一个15M(需要一个HFS类型的分区来放置ofwboot.xcf,因为openfirmwire不支持从netbsd分区里加载loader),剩下的作为/home分区。把原来的/home分区(wd0g)和共享数据的分区(wd0e)合并为一个分区,用于放置数据。 1. 第一步,也是最关键的一步,先备份好数据。

Continue reading

pkgsrc tips

1.cpuflags

devel/cpuflags:Determine compiler flags to best target current cpu

#cd /usr/pkgsrc/devel/cpuflags 
#make install

然后在/etc/mk.conf中加入:

.sinclude "/usr/pkg/share/mk/cpuflags.mk"
.sinclude "/usr/pkg/share/mk/optimize_gcc.mk"

这样make时便能够根据cpuflags进行优化编译了。

Continue reading

三维绘图可以分为两大类型:矩阵型和曲面型。

矩阵型

通常是声明一个矩阵,以矩阵的长宽为x,y范围,以矩阵里面的数值为高z, 使用plot3d(t1,t2,Z,alpha=a,theta=b)

  • t1:y轴方向的范围
  • t2:x轴方向的范围
  • Z:矩阵
  • alpha
  • theta参数用于指定角度,让图绘出来以某个特定的角度呈现出来。(optional)

    ->clear ->A=[1 2 5 4 3;0 3 2 8 6;2 4 6 7 5;2 3 4 3 1];
    ->t1=1:4; ->t2=1:5;
    //plot3d1与plot3d语法类似,能够嵌入多种颜色
    ->plot3d(t1,t2,A,alpha=45,theta=45);
    

mesh不需要边界声明, ->mesh(A);

Continue reading

1 分区

用MacOS X 10.2 的光盘启动,运行Disk Utility,选择“Install Mac OS 9 Disk Drivers”不然分区将不能在OS9中使用,我一共分了5个分区,12G,10G,512M,20G,13.4G。其中12G装OS9系统,10G装netbsd系统,512M为swap分区,20G为home 分区,最后一个为fat32格式,为两个系统所共享。

2 安装os9

开机放入os9安装光盘,按住键,由光盘启动进入os9,在光盘根目录下点安装系统。指定第一个分区,选择安装的软件,十来分钟,便装完了。重新启动,将netbsd的启动程序ofwboot.xcf放在os9的根目录下。

3 安装netbsd

Continue reading

Author's picture

Guangchuang Yu

a senior-in-age-but-not-senior-in-knowledge bioinformatician

Postdoc researcher

Hong Kong