LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 18666|回复: 45

有没有人想一起弄一个中文的Octave手册的?

[复制链接]
发表于 2008-3-20 14:57:29 | 显示全部楼层 |阅读模式
我很喜欢这个东西,

但是发现在网上还没有相关的中文资料,

一直想自己写一份,

但是感觉工程稍微大了点,

另外也感觉自己的水平有限,

希望有人能来一起合作,

初步打算是以Octave的documentation为基础,

我的联系方式:fender0107401@tju.edu.cn

 楼主| 发表于 2008-3-20 14:58:12 | 显示全部楼层
如果谁知道有相关的中文资料以定告诉我一声,谢谢先。
回复 支持 反对

使用道具 举报

发表于 2008-3-21 15:55:41 | 显示全部楼层
我也有这种想法,支持一下!
回复 支持 反对

使用道具 举报

发表于 2008-3-21 21:49:30 | 显示全部楼层
我曾经见到过!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-21 22:57:40 | 显示全部楼层
打开邮件收到两封邮件,看了比较高兴,

看来还是有人感兴趣的。

言归正传!

=====================

Octave简要中文手册计划

目标:以Octave附带的文档为基础制作一份简要的Octave中文手册,

让喜欢计算的朋友可以很快地了解什么是Octave,如何使用Octave,如何编写Octave的程序来解决自己需要计算的问题。

Octave文档目前主要内容如下:

Preface
Introduction: A brief introduction to Octave.
Getting Started
Data Types
Numeric Data Types
Strings
Data Structures
Containers
I/O Streams
Variables
Expressions: Expressions.
Evaluation
Statements: Looping and program flow control.
Functions and Scripts
Error Handling
Debugging
Input and Output
Plotting
Matrix Manipulation
Arithmetic
Linear Algebra
Nonlinear Equations
Sparse Matrices
Quadrature
Differential Equations
Optimization
Statistics
Financial Functions
Sets
Polynomial Manipulations
Control Theory
Signal Processing
Image Processing
Audio Processing
Quaternions
System Utilities
Test and Demo Functions
Tips
Trouble: If you have trouble installing Octave.
Installation: How to configure, compile and install Octave.
Emacs
Grammar
Copying: The GNU General Public License.
Concept Index: An item for each concept.
Variable Index: An item for each documented variable.
Function Index: An item for each documented function.
Operator Index: An item for each documented operator.

希望每一部分有一个人来负责,然后最后大家汇总成一个完整的文档。

希望能优先完成如下部分:

Preface
Introduction: A brief introduction to Octave.
Getting Started
Data Types
Numeric Data Types
Strings
Data Structures
Containers
I/O Streams
Variables
Expressions: Expressions.
Evaluation
Statements: Looping and program flow control.
Functions and Scripts
Error Handling
Debugging
Input and Output
Plotting

因为这些部分对于Octave来讲属于基础内容,比较重要。

另外,后面的是在各个领域中的应用,可能需要一定专业知识。

我对于组织人翻译一个文档没有什么经验,另外自己水平也比较一般,对于Linux/Unix了解也比较浅,希望能有相关经验的人指点一下,

也希望有人来一起合作完成。

欢迎任何人提各种建议。

Email:fender0107401@tju.edu.cn
回复 支持 反对

使用道具 举报

发表于 2008-3-22 11:01:36 | 显示全部楼层
好啊.我下了个PDF版本的手册,是基于octave2.1版本的.不知道你的文档版本是多少.要翻译的话大家要统一下
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-22 13:07:49 | 显示全部楼层
我的是2.9.9的。
回复 支持 反对

使用道具 举报

发表于 2008-3-22 22:45:06 | 显示全部楼层
你的是PDF版本吗?发到我的邮箱zhuyubei@sina.com.cn好吗
我的msn是zhuyubei500@hotmail.com,我们讨论一下
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-22 23:33:25 | 显示全部楼层

先把弄完的贴出来。

########################################

《Octave简要中文指南》

########################################

作者:tju_fender

Email:fender0107401@tju.edu.cn

########################################

序言:

这份中文指南主要介绍Octave的使用,希望能帮助喜欢Octave的朋友能迅速了解什么是Octave,如何使用Octave,手册内容主要来源于Octave的文档以及FAQ。如果这份手册里面有写的不清楚的地方可以查查相关的帮助文档。

基本内容包含:Octave的介绍,变量,语法,编程,输入输出,以及画图。

完成这份手册要感谢那些在我学习Linux/Unix的道路上帮助我的热心朋友,你们的帮助多次让我在绝望中看到希望,是你们帮我建立了拯救世界的勇气、信心以及伟大理想。

当然还要感谢我可爱的gVim编辑器,以及Debian项目提供的稳定的操作系统以及GNU项目提供的众多软件,没有你们自然没有这份《Octave简要中文指南》。

########################################

版权声明:GPL

########################################

Octave简介:

Octave最初是一个用于本科生化工反应器设计的教学课件,但是现在已经是一个很完整的可以用于解决很多复杂问题的成熟的计算软件了。

官方主页:www.octave.org。

主页上有关于Octave的最新消息以及完整的文档以及FAQ和一些有用的链接资源。

Octave基本的特点如下:

*免费开源, 属于自由软件,使用她不用担心法律上的问题,使用盗版的Matlab可能给你招来麻烦。另外由于是开源软件,所以各种功能在质量上有绝对的保证,不要对开源软件的能力表示怀疑,通常情况写她们很强大。

*方便,可以交互式的使用,可以写成脚本使用,接合gnuplot可以画图,内部包含各种数据格式,可以很容易的扩展,可以使用gcc/g++/gfortran来把C/C++/Fortran的代码加入到现有计算中来。几乎无所不能。

*有完整的文档系统,可以方便的使用和学习。

*语法结构很简单,可以在很多的时间内学会,并且兼容Matlab,如果学过C/C++/Fortran一类的高级语言相信可以很快掌握。

########################################

基本操作:

安装octave:

我的系统是Debian GNU/Linux amd64 stable:安装相当的容易,使用apt或者是synaptic都可以,另外octave的文档有网页形式的软件包,安装以后看着很方便。

各个发行版本都有自己的软件包管理系统,相应的安装命令请查阅自己发行版的使用手册。

打开octave:

一般在终端里面进入工作目录以后输入octave即可,会出现一个简短的关于版权信息的说明,可以通过设定.octaverc来指定Octave的启动行为,可以在.octaverc里面写任何的合法的octave语句。比如写一个printf("I am handsome boy.\n")在里面,然后打开Octave看看有什么结果。

退出octave:

进入以后如果想退出,输入exit或者quit命令即可。

寻求帮助:

在Octave命令行里面输入help -i(或者doc)即可进入info界面,这个和在终端里面输入info octave没有什么区别。

########################################
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-22 23:35:46 | 显示全部楼层
########################################

Evaluation:

通常情况下,你在Octave的命令行里面输入命令然后执行,或者让Octave执行一些你放在一个文件里面的命令。

有的时候你可能发现需要执行一个表达式,而这个表达式是被计算出来并且储存在一个字符串里面的,或者是使用一个字符串来作为调用的函数的名字。

— Built-in Function: eval (try, catch)

分析一下字符串try并且执行它如果它是是一个Octave程序。

如果上述过程失败则执行字符串catch。

字符串只是在当前环境下被执行,所以任何返回的结果在eval执行以后仍然可以使用。

— Built-in Function: feval (name, ...)

执行以name命名的函数。

任何在第一个字符后面的参数都被传递给这个函数。

例如:

feval ("acos", -1)将调用acos,并且以-1做为相应的参数,结果返回=> 3.1416。

feval函数对于调用一个用户提供的函数名所对应的函数来说是必须的,因为Octave不能像C语言一样定义函数指针,也不能想Fortran语言一样定义一种变量来保存函数名。

你必须用name来引用函数,然后用feval来调用它。

这里有一个例子,这段程序会用牛顿叠代法找出用户自定义的单变量的函数的根。

function result = newtroot (fname, x)
     
# usage: newtroot (fname, x)
#
# fname : a string naming a function f(x)
# x     : initial guess
     
delta = tol = sqrt (eps);

maxit = 200;

fx = feval (fname, x);

for i = 1:maxit
  if (abs (fx) < tol)
    result = x;
    return;
  else
    fx_new = feval (fname, x + delta);
    deriv = (fx_new - fx) / delta;
    x = x - fx / deriv;
    fx = fx_new;
  endif
endfor
     
result = x;

endfunction

function result=x2(x)
        result=x*x;
endfunction

a=newtroot("x2",1)

这是一个简单的示例性的例子,实际中比这个要复杂一点。

########################################
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表