摘要: MPFIT本来用IDL语言写的,后面有人翻译成了C语言版本。再后面鉴于python语言的流行使用,又有人将其用Cython加了python接口,直接可以在python中调用,极大地方便了额们这些经常用非线性拟合地菜鸟。有好几个不同的接口,但这个比较好用:pycmpfit,可以从github上下载ht... 阅读全文
posted @ 2015-10-20 20:19 liyropt 阅读(1502) 评论(0) 推荐(0) 编辑
摘要: Plplot延续了Pgplot的设计风格,线的宽度函数plwid(int width)只能用整型变量,不能精确控制线宽。用pscairo画出的曲线总是太粗,这是plplot一个很老的问题(issue),据说会在新版本中修正。这里提供一个简单的修正办法。下载plplot源程序,修改drivers/cairo.c中的void set_current_context( PLStream *pls )函数中以下几行if ( pls->width cairoContext, 1 );}else{ cairo_set_line_width( aStream->cairoContext, (do 阅读全文
posted @ 2013-09-11 15:26 liyropt 阅读(680) 评论(0) 推荐(0) 编辑
摘要: 最近用plplot画图,其cairo ps库生成的ps图片总是不能合理地剪切掉多余的边框,于是乎自己写了一个小脚本epscrop,用修改ps图的BoundingBox.#!/bin/bash# check if the argument is provided.if [ $# -lt 1 ]then echo "no file specified." exitfifname=$1#check if the file exits.if [ ! -f $fname ]then echo "file $fname not exists." exitfi#get 阅读全文
posted @ 2013-09-11 13:34 liyropt 阅读(455) 评论(1) 推荐(0) 编辑
摘要: 最近要从数据表(latex文件)中提取其中的两列数据,因为文件多,写了一个小脚本colext。#!/bin/bashif [$#<4];thenecho "Argument number <4\n"exitfifile=$1c1="\$$2"c2="\$$3"#echo ${c1} ${c2}awk -F"&" "{print ${c1} ${c2}}" $file | sed -e "/^\t/d" -e "/^$/d" -e  阅读全文
posted @ 2013-03-18 13:04 liyropt 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 对于Git开发,有一些可视化的工具,如gitk,giggle等,来查看项目的开发历史。但对于大型的项目,这些简单的可视化工具远远不足以了解项目完整的开发历史,一些定量的统计数据(如每日提交量,行数等)更能反映项目的开发进程和活跃性。GitStats就是这样的工具,它能生成以下统计数据,并以图表形式进行对比常规的统计:文件总数,行数,提交量,作者数。活跃性:每天中每小时的、每周中每天的、每周中每小时的、每年中每月的、每年的提交量。作者数:列举所有的作者(提交数,第一次提交日期,最近一次的提交日期),并按月和年来划分。文件数:按日期划分,按扩展名名划分。行数:按日期划分。GitStats网址:ht 阅读全文
posted @ 2012-12-31 22:21 liyropt 阅读(16576) 评论(0) 推荐(2) 编辑
摘要: 一. 基本对象类型Git中有四种基本对象类型,组成了Git更高级的数据结构:blobs每个blob代表一个(版本的)文件,blob只包含文件的数据,而忽略文件的其他元数据,如名字、路径、格式等。trees每个tree代表了一个目录的信息,包含了此目录下的blobs,子目录(对应于子trees),文件名、路径等元数据。因此,对于有子目录的目录,git相当于存储了嵌套的trees。commits每个commit记录了提交一个更新的所有元数据,如指向的tree,父commit,作者、提交者、提交日期、提交日志等。每次提交都指向一个tree对象,记录了当次提交时的目录信息。一个commit可以有多个( 阅读全文
posted @ 2012-12-11 06:30 liyropt 阅读(4677) 评论(0) 推荐(0) 编辑
摘要: PDF是我们极其常用的文件格式,但对如何生成PDF,个人一直觉得很神秘,其实利用一些公开的PDF库,我们就可以直接生成PDF文件,而不用关注PDF文件的内部细节。我知道的PDF库有如CARIO和HARU。HARU是一款免费的,跨平台的,开源的生成PDF的库。支持嵌入PNG、JPEG图片,支持CJK字体编码。用C语言编写,因此可以在C/C++中调用。HARU也提供了Ruby,Delphhi,和C#的捆绑(binding)。项目主页见http://libharu.sourceforge.net/index.html和http://libharu.org/wiki/Main_Page。项目主页上有详 阅读全文
posted @ 2012-12-08 23:32 liyropt 阅读(6822) 评论(0) 推荐(0) 编辑
摘要: 工具:Xcode 4.2开发环境:Cocoa,OpenGL,Objective-C一、创建工程MyOpenGL打开Xcode,选择Create a new Xcode project, 然后在弹出地窗口中选择 Cocoa Application, 下一步以后输入工程的名字:MyOpenGL。成功以后,Xcode窗口如下:二、加入OpenGL,GLUT库点击Xcode窗口左边Project Navigator中的MyOpenGL,窗口中间会出现Project的信息,选择Targets中的MyOpenGL,选择右边的Build Phase, 选择Link Binary With Libraries 阅读全文
posted @ 2012-07-25 18:13 liyropt 阅读(6761) 评论(0) 推荐(0) 编辑
摘要: 原则:阅读./configure --help的内容一般就能解决安装过程中的问题。1. 为Dictionary安装中文词典Linux下的词典StarDict有众多词典文件。应用程序DictUnifier就是将StarDict的词典文件软化成Dictionary的格式,并且将放到~/Library/Dictionaries/下,重新启动Dicionary就可以看到词典了。2. 安装PGPLOTPGPLOT需要调用X11图形库,安装Xcode就会有X11。如果需要产生PNG图,需要安装libpng和zlib包。按标准的步骤就可以安装。PGPLOT安装建议选择bsd系统。编译生成libpgplot库 阅读全文
posted @ 2011-07-09 17:57 liyropt 阅读(1354) 评论(19) 推荐(0) 编辑
摘要: PostScript是一种页面描述性的编程语言,广泛用于打印图片和文本。PostScript脚本需要用一定的解读器解读,我们平时使用的PS文件阅读器就应该包含PostScript脚本解读模块。一个完整的PS文件包括三部分:文件头,PostScript语言, 和文件尾。文件头给出了PS文件的基本信息,如标题,创建者,创建时间等等;文件尾标志着PS文件结束。PostScript语言分为两块,首先是一些前言(prolog),创建者可以自己定义了一些命令,方面后面的脚本书写;然后是脚本,是PS文件的主体,用于生成图片和文本。需要注意的是,在Linux系统下,文件开头一般都有一个magic number 阅读全文
posted @ 2011-05-29 17:45 liyropt 阅读(1371) 评论(1) 推荐(0) 编辑