Octave 中文简明教程.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Octave 中文简明教程

Octave:矩阵计算的新宠 实话实说,MatLab是迄今为止矩阵计算最强大的工具(没有之一)。可惜MatLab是商用的,一般个体还真买不起。MatLab的Windows版本 比Linux版本要好些,这让我不敢轻易断言Windows一无是处,毕竟其下有MatLab这样强悍的软件。以前在Windows下工作,MatLab 一直是我的首选矩阵计算工具,在统计计算工具S-PLUS出现之前,人们快乐地用着MatLab简陋的统计工具箱。后来有了R,它彻底地坐稳了统计计算的 头把交椅,MatLab似乎也无意去争夺全料冠军,但事实上它在很多方面都做得无可挑剔。这让我们这些买不起却很需要MatLab的穷人感慨不 已,MatLab如果是免费的该多好…… 为何选择使用octave? 导入文件 Octave与MatLab的一些小区别 布尔值的乘积 逻辑运算符、算术运算符 C-风格的自动增量、赋值、屏幕打印 注意空格 直方图内置函数hist 导入空文件 行续符 if、for等环境的结束符 R和octave命令的对照表 R读入octave导出的数据 为何选择使用octave? SciLab和octave是开源的且免费的矩阵计算工具,二者都有希望成为矩阵计算的新宠。相比之下, octave与MatLab的兼容性更高。 octave遵循GPL协议(GNU General Public License),用户可以单独发行octave或者包含在其产品中发行。而scilab则不允许,你只能免费地使用它。 octave没有图形界面,是命令交互的。在某些人眼里这是不可饶恕的缺点,而在另外一些人眼里则是大大的优点。 它们都具备以下特点:以矩阵为基本数据类型,内置支持复数,有内置函数和外部函数库,用户自定义函数的可扩展性等特点。UNIX的很多用户选择使用 octave,看中的就是它与MatLab兼容性好这一事实。随着开源运动的深入人心,octave不断地发展壮大,它会吸引一大批MatLab的使用 者。 GNU octave网站:/ 好习惯从头开始: 首先学会使用help,搞不定再到网上查,最后才求人。 学习octave的捷径:读octave的函数源码 。 每个命令都以“;”结束,否则矩阵的具体内容会显示出来。 学会适当地使用内置命令clear,从内存中清除一些无用数据或变元。 如果没有必要,不要轻易改变矩阵大小。 重要的中间结果要保存。 导入文件 octave和MatLab一样用load导入数据文件,譬如 octave A = load data.txt ; 将把data.txt里的数据导入octave并赋给矩阵 A。对于图像文件,octave用imread将图像导入并存为矩阵img, img = imread(jam.jpg) ; 在octave里显示图像很简单,用命令: imshow(img) ; 除了jpeg和png格式的图像可以直接导入,其他格式的图像必须经过ImageMagick的convert函数转换后才可读入。ImageMagick是命令行的强大的图像处理工具,convert几乎涵盖了所有格式图像的转换。 如果你关心imread函数的源码,可以去读 /usr/local/share/octave/packages/image-1.0.8/imread.m,该函数把灰度图像导入为MxN矩阵,把彩色图像导入为MxNx3矩阵。具体的帮助文件,可以 help imread ; 或者来个更详细点儿的 help -i imread ; Octave与MatLab的一些小区别 MatLab用户转而使用octave几乎不需要什么培训,只是要一些小细节上注意一下。下面我们罗列一些octave和MatLab的区别。 布尔值的乘积 X = ones(2,2) ; prod(size(X)==1) MatLab和octave的输出是不同的: Matlab: ??? Function prod is not defined for values of class logical. Octave: ans = 0 octave输出为0的原因是 size(X) 为 ans = 2 2 逻辑运算符、算术运算符 Octave与MatLab兼容,甚至更为宽松。如, 运算 Matlab octave 或 | “|” 或者“||” 且 或者 否 ~= ~= 或者 != MatLab用 x^2,octave用 x^2 或者 x**2 表示 “x的平方”。Octave用 x**2 是为了照顾GnuPlot的用户。总而言之,octave在运算符方面彻底兼容MatLab,MatLab用户放心大胆地用octave吧,但 octave用户用M

文档评论(0)

almm118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档