Octave语言是一种什么样的语言?

Octave语言是一种什么样的语言?,第1张

Octave语言是直译式及结构化(类于第二代的BASIC)的编程语言,支持许多C语言风格的标准函数功能,同时可以使用UNIX的系统调用以进行扩展增进功能,但不支持以引用的方式传递参数。

Octave的核心由一组内置的矩阵运算语言(如四则运算)和可加载函数组成(例如求矩阵逆inv),其余能在核心语言之上实现而且性能开销不会显著增加的函数调用则一般以Octave脚本的形式存在(例如求解方程组的fsolve函数)。Octave 解释器会自动处理各种不同类型的调用。

Octave支持数据建构,也支持基本的面向对象编程,但通常仍把它当作面向过程的程序设计语言来看待。

它的语法基本上与Matlab一致,严谨编写的代码应同时可在Matlab及Octave运行。但若调用了Matlab工具包,则一般不能直接在Octave上运行,因为Octave附带的工具包与Matlab并不兼容。

由于Octave是以GNU通用公共许可证许可,所以可以自由地复制、流通与使用。Octave可在大部分的类Unix *** 作系统中运行,亦可在Microsoft Windows中运行。在Mac OS X中运行也是可能的,但设置较为复杂。

首先非常感谢被邀请回答本问题。本人从事科学研究12年,一直在用Matlab,期间也用过R语言,现在在学python。本问题的回答可以总结为以下几点: 一是 我们大多数学生使用Matlab,其实用到的Matlab功能并不是很多,有一部分是可以用Excel代替的,还有的可以用随便任何一种语言都可以代替。目前而言,Matlab内置的各类数学计算功能模块,R语言基本上都有对应的模块,而且用户量也比较大。 二是 我们可能不太习惯的是,很多国外同领域的专家学者开发的专业软件包是在Matlab基础上开发的,我们需要将别人的理论成果应用到自己的领域,这时候不让用Matlab了就有点烦心。对于一些简单的,代码全部可见的程序我们可以重新用别的程序语言实现。但是对于封装好的、不可见的程序就麻烦了,直接该程序就没法再用了。 三是 对于很多网友说的发表文章用盗版Matlab画图会被盯上曝光的问题。其实,我觉得这个倒是不必担心,用Matlab计算,不等于一定要用Matlab画图。可以将Matlab计算得出的结果再用别的软件画图。或者不要在国外的期刊发表文章就是了。 四是 Matlab其实在国内主要的用户是高校的学生和老师,企业用Matlab编程的并不多。高校算是Matlab的大客户,如果对所有的学校都禁用,其实是Mathworks公司自断手臂,一个程序软件根本卡不住我们的。 五是 Mathematic软件也可以替代Matlab的很多功能。大家可以试着用用。

总的来说,替代的方案有很多。未来我们还是要着手开发自己的数学计算软件,不能动不动就被威胁、被要挟。我们国内这么大的需求量,其实应该开发几个支柱型产品。以上回答仅供参考,欢迎大家批评指正。欢迎网友留言互动,共同寻找解决方案。

哈工大、北航等国内高校被禁止使用 MATLAB, 这件事在国内社交媒体迅速发酵并登上热搜,引发学术界和技术界的广泛讨论。上个月,美国商务部宣布将 新增 33 家中国公司及机构列入“实体清单”,除了奇虎360、云从 科技 、烽火 科技 等企业外,还包括中国公安部法医科学研究所等政府相关机构,以及哈尔滨工业大学和哈尔滨工程大学两所高校。

至此,中国大陆共有 13 所高校被列入该实体清单,除上述两所外,还有:中国人民大学、北京航空航天大学、西安交通大学、西北工业大学、四川大学、电子 科技 大学、湖南大学、国防 科技 大学、同济大学、南昌大学、广东工业大学。

这些高校将被美国《出口管理条例》限制出口、进口或转口,无法和美国进行任何商业交易,在获得美国 科技 方面面临新的限制。它们和去年被列入清单的华为、中兴等中国企业一样,和美国企业之间的进出口业务需要美国政府的批准,也就是所谓的“技术制裁”。迫于政府的压力,MATLAB 所属公司 MathWorks 被迫中止对这些国内高校的正版授权。

虽说能上这份清单的组织机构都不简单,至少证明其科研实力得到了美国的重视。但当这些我们常用的基础软件真的被别人卡脖子时,其带来的负面影响还是肉眼可见的。

MATLAB 是矩阵实验室(Matrix Laboratory)的简称,由美国 MathWorks 公司出品,是一种高级技术计算语言和交互式环境集成软件,由 MATLAB 和 Simulnk 两大部分组成,广泛应用于算法开发、数据可视化、数据分析、仿真建模以及数值计算,在工业制造、学术研究等领域具有近乎垄断的市场地位。大学读理工科专业的同学基本上都接触过这款软件。有分析人士指出,如果整个学校被禁用了正版 MATLAB,这 意味着学校的人员再发表论文或者从事商业项目,其成果原则上就不应包含任何基于 MATLAB 的内容 ,这对国内相关企业和研究学者带来的影响不可忽视。

而随着 MATLAB 在国内高校被禁用,一些类似 MATLAB 的开源软件开始重获关注。

可替代 MATLAB 的开源软件

SCILAB

SCILAB 是一款与 MATLAB 类似的开源软件,可以实现 MATLAB 上所有基本的功能,如科学计算、矩阵处理及图形显示等。

由于 SCILAB 的语法与 MATLAB 非常接近,熟悉 MATLAB 编程的人很快就会掌握 SCILAB 的使用。有意思的是,SCILAB 提供的语言转换函数可以自动将用 MATLAB 语言编写的程序翻译为 SCILAB 语言。目前,SCILAB 可在 Linux、Windows 和 Mac OS 全 PC 平台运行。

作为开放源码的软件,SCILAB 遵循 GPL 2.0 开源协议,源代码、用户手册及二进制的可执行文件都可以通过官网免费直接下载使用。用户不仅可以在 SCILAB 的许可证条件下自由使用该软件,还可以根据自己需要修改源代码。

Octave

Octave 是一个类似 MATLAB 和 Scilab 的数学软件包,可以进行各种运算,编程。它还有丰富的 C++ 接口可以让用户编程时调用。其配套的绘图工具采用 gnuplot 。Octave 的使用也是基于字符终端模式的,当需要绘图时,将会调用 gnuplot 进行数据绘图,并显示出来。

Octave 是用 C++ 编写的,它内容丰富的库也可以供用户在编写软件时调用。Octave 同时还支持 Fortran 等的调用,GSL 绑定等。可以由用户定制自己的函数、子程序等。

Spyder

Spyder 是一款轻量级的 Python IDE ,提供高级的代码编辑、交互测试、调试等特性,适用于数据分析。Spyder 的界面与 MATLAB 非常类似,其作者早年也承认模仿了 MATLAB 的设计。 如果对于 MATLAB 的仿真建模需求不高的话 ,Spyder 足以取而代之。

高校应拥抱开源

MATLAB 事件也引发了人们的反思,国内高校是否会因此事件掀起一波进一步拥抱开源的风潮?

自由软件运动之父 RMS 曾呼吁学校只应使用自由软件,因为学校具有 社会 使命:教育学生成为强大、有能力、独立、合作和自由的 社会 公民。“学校应该推动自由软件的使用,正如学校推动对话和投票一样。教育学生使用自由软件就是培育能够生活在自由数字 社会 的公民。这样就可以帮助整个 社会 避免为超级企业集团所主导。反过来,教授非自由软件就是在培育依赖性,这和学校的 社会 使命背道而驰。学校绝不应该这么做。”

如今看来,RMS 的担忧绝非危言耸听。我们很多人从学生时代开始,接触的就是 Windows 系统、MATLAB、CAD 等专有软件,对这些国外软件产生了很强的依赖性,尽管这些软件对学生来说或许是免费的。但归根结底,为什么专属软件的开发者会为学校提供非自由软件的免费拷贝?RMS 曾表示,“因为他们企图利用学校来培育对其产品的依赖性,正如烟草公司向学生发放免费香烟一样。一旦学生毕业,他们就不会再得到免费拷贝,他们的雇主也不会。一旦有了依赖性,你就会付钱,而且升级换代也会很贵。”

“自由软件允许学生学习软件如何工作。一些有编程天赋的学生,在他们的少年时代,渴求学习一切关于计算机和软件的知识。他们有强烈的好奇心,想要阅读他们所用软件的源代码。专属软件拒绝了他们对知识的渴求:它说,‘这些知识是秘密—学习是禁止的!’专属软件是教育精神的敌人,所以学校不应该容忍专属软件,除非是作为逆向工程的对象。”

尽管 RMS 的话中包含了个人对于专有软件厂商的敌意,但当越来越多的专有软件成为政治的枷锁时,国内高校拥抱开源确实是一个更好的选择。

写在最后

面对美国日渐加深的技术封锁,从开源社区中寻找替代品,或许是国内组织机构在短时间内解决问题的一条捷径。但从长远来看,只有我们拥有了自己的技术,才能完全摆脱别人的限制。当然,这是一条漫长的艰难道路,很难在一朝一夕内实现,但我们却不得不坚持走下去。

首先感谢题主邀请。

为受美国实体清单的影响,北航,哈工大等学校再也无法使用被誉为“工科神器”的MATLAB,MATLAB的开发商 MathWorks已停止向哈工大继续提供服务,哈工大师生用户购买的这款软件显示激活失效。

于是很多人在担心,在没有MATLAB后,我们又没有能力自行研发的能力下,会不会就没有软件能代替了呢?

当然不是,MATLAB这款软件是有替代品的,比如FreeMAT,还有scilab。这些软件是开源的,并不是说离开了MATLAB我们就没有任何办法了。

FreeMAT

FreeMAT,现在的版本是4.2版,它的优点是体积很小,界简约且清爽,全部安装好后也仅有240mb左右。一些简单的数学计算都可以实现。不过缺点是因为体积的关系,它的功能没有MATLAB那么全面,同时 *** 作界面也是全英文的,无汉化,一些外语不太好的朋友可能用起来比较吃力。

下载网站:freemat.sourceforge.net

SciLAB

SciLAB,现在最新的版本是6.10,由于这款软件是用java写的,所以需要JVM库的支持,全部安装下来大概需要700mb的空间。它的功能比较强大,和MATLAB不相上下,被广泛引用在科学计算、数学建模、信号处理、决策优化、线性、非线性控制等各个方面,非常值得一提的是,这款软件支持简体中文,挺人性化的,是MATLAB最好的替代品。

下载网址:www.scilab.org

虽说这些上述的软件都能解燃眉之急,但从这件事情我们也能得到一个教训:国外正版的商业软件,总归有美国制约的隐患。曾经有一个信息学的教授说过 ,“整天把好吃的面包卖给我们,最后我们连馒头都不会蒸了 "

今天美国人敢禁用MATLAB,谁也说不好下一个对象会不会是windows,切不可掉以轻心。

目前就哈工大和哈工程疯了,个人使用暂时没有影响,不发论文也没影响。软件毕竟是别人工程师多年技术积累的成果,给不给你用,什么时候给你用要看别人心情。

替代的话,excel数学函数计算,R语言,Octave,Scilab,Python凑合着用吧。

自己用C,C++语言写也可以。

从长远发展来看,还是要自己有真功夫,才不怕别人卡脖子!

MATLAB是理工科必备神器,能和它相媲美的也就只有Mathmatica。然而,它也是美国的商业软件。目前,在国内根本就找不到一款可以替代MATLAB的软件。唯一可以找到可以替代的也就是下面两款开源软件了。长远看,我们还是要自己开发神器才行。

1、SCILAB是一款最接近MATLAB的软件

SCILAB是一款非常不错的数学模拟软件,可以实现 MATLAB 上所有基本的功能,如科学计算、矩阵处理及图形显示等。熟悉 MATLAB 编程的人可以非常快掌握 SCILAB 的使用。还有一点更棒的是, SCILAB 的编程语言完全兼容MATLAB编程语言 。S CILAB提供的语言转换函数可以自动将用 MATLAB 语言编写的程序翻译为 SCILAB 语言 。

目前,SCILAB 最新版本是6.1.0,支持 WINDOWS 、Linux、Mac OS系统,也就意味着PC上所有平台都可以使用。当然,作为开源软件,SCILAB 遵循 的是CeCILL license v2.1协议。意味着源代码、用户手册及二进制的可执行文件都可以通过官网免费直接下载使用。用户不仅可以在 SCILAB 的许可证条件下自由使用该软件,还可以根据自己需要修改源代码。

2、 Octave也是一个类似MATLAB的软件

Octave是用C++编写的一个强大的面向数学的语法,内置绘图和可视化工具的数学软件包,可以进行各种运算,编程。比SCILAB的兼容性稍微差一点。该软件是基于字符终端模式使用的,绘图需要调用Gnuplot。同时,该软件还提供了内容丰富的库供用户在编写软件时调用。

目前,Octave最新版本为5.2.0版本,同样也支持在GNU/Linux、macOS、BSD和Windows上运行。是一个非常类似MATLAB的软件, Octave作者也承认最初有模彷Matlab而设计 ,所以 与Matlab有许多功能相同。有些Matlab程序可以直接或经过少量修改就可以在Octave上运行,同时兼容许多Matlab现有的脚本和插件 。

总结

MATLAB是一款工科神器,哈工大、哈工程以及美国实体清单的所有高校现在都不可以新购买该软件,同时,已经购买软件的也将中断原厂服务。但 已经购买了正版授权的学校依然可以继续使用原来的版本。如果没有购买软件的可以使用 上面两款开源软件 来替代 。 从长远来看,中国还是需要自己研发出这个工科神器软件才是终极解决办法

我听到这个消息都震惊了。

虽然现在已经不再从事本科所学的专业,但matlab对于我们数学系的同学而言,地位是非常重要的。

根据新闻报道:

哈尔滨工业大学、哈尔滨工程大学等中国高校被美国禁止使用 MATLAB。这件事不仅在网上引起热议,甚至还引发了中国外交部的抗议。

对此,发言人华春莹在回应中表示,她目前对具体的情况还不了解,但是“任何打压都无法阻挡中国 科技 发展进步的步伐”。

这是怎么一回事呢?起因是在网络上,有很多哈工大的同学爆料,他们购买的正版软件matlab取消了激活,在和软件的开发公司MathWorks交涉后,才得知是因为进入了美国政府的实体名单的原因,相关授权被中止了。

这件事真的非常恶劣。

虽然我已经不再从事本科的专业,也就意味着不再用matlab了,但我深知它对于数学研究的重要性。

对于高校来说,几乎都在使用matlab了,购买了正版软件却被中止授权,这实在是毫无道理可言。

相关的同学面临毕业论文之际,可以考虑换成C++来暂时替代。但我不得不说,在处理数学建模时,matlab真是我们当时的首选。

总而言之,希望同学们能够熬过这一关。

哈工大趁机联合立个项,研发中国matlab,先仿它,快出快用,有经验了再优化超越。此时不必再拘泥于对方的知识产权,也处战争状态,对方不主动求和就要有勇气干掉他,还有第三条路吗?找个绳子把自己勒死?!

替代?怎么不想想,他们随便往哪一方面动“刀子”,基本上是受伤的,有什么能反制别人的( 游戏 软件不算)。本土除了欧美软件就看不到几款国产货软件,如何替代?今天可能MATLAB,明天可能就是其它软件,只要他们想,随时可以动手术,必定接招不住。

这次为何正对工科院校,而且是本土顶尖工科院校?

这些工科院校在材料科学、计算机、信息、电子、机械、电气、建筑、水利、 汽车 、仪器等领域研究非常深入的,专业性非常强。工科注重的是技术,在实践中寻找解决问题的办法,大多数为工程师或者工程院士。可见,这些院校出来的学子,今后很多都是各领域的拔尖人才,是国家栋梁。

工科以应用数学、物理学、化学等基础科学原理再结合生产实践所积累的技术经验而发展起来的一门学科。例如,数据、图、表等在研究中必不可缺少信息。假如MATLAB不授权,一切用MATLAB得到数据、图表等不能让别人知道,这不是正版和盗版的问题了,说明现在只能偷偷摸摸的用,一旦使用被发现可能与中兴事件一样,赔钱。

这些高校都是买的授权软件,而且扎根高校多年,对其是了如指掌。一旦终止授权,不能光明正大的使用,随时有可能吃官司。

替代?已经磊好的墙要全部拆掉,一时很难。虽然有替代品,但还是国外的,用着能放心不?现在的技术封锁越来越严峻,只买不造的话,别人那天不高兴,拳头随便一挥,等着挨打。目前的情势来看,用着别人的东西寝食难安,各行各业用的欧美东西太多,而且很多处于核心位置。

用python代替matlab挺好的。

我觉得python的numpy, pandas, scipy, matplotlib, sklearn, tensorflow, pytorch等python库做科学计算挺好用的,基本上用了python后就再也不用matlab了,而且python用途更广,用处更大,比matlab的工作岗位更多,python除了可以做科学计算,仿真建模,还能做web开发,软件开发,系统服务器运维,大数据挖掘,机器学习和人工智能。

相比于matlab, python是青出于蓝而胜于蓝,可做的事情更多,就业范围和工作机会更多,也被越来越多的人使用了,未来,越来越多的matlab程序员都从matlab转向了python.

另外,scilab也能完全代替matlab.但是python可以让你做更多的事情。

现在的情况是,已经不给用了。

这是半年前的事情了吧,目前我可以给你一个答案: 替代软件不存在。

看明白了吗?不存在的意思是,就是不存在。

matlab并不是一个某个细分领域的东西,而是包含了这么多东西:

你说的那些python还有别的一些,只是在某个程度上可以做到,是具体某个领域,不乏跃跃欲试的替代者;综合来看,替代者不存在。

你还别指望我们一时半会能做出来,为什么?

1、阿里去IOE用了1万多人,3年多,这人力投入很可怕,想做出matlab也需要很多时间

2、做这东西短期看不到回报,没人愿意浪费青春去赌这个,资本更不会愿意,我们一直以来不搞研究,说白了目前这些互联网公司就是做生意

3、matlab并不是靠编程代码就能做出来的,它需要沉淀,是知识的沉淀

4、我们需要的不是matlab,而是工业软件体系

这个函数在octave online肯定会错,因为这样的函数要先保存再调用,而octave online不能保存文件,可以下载单机版的octave,然后新建一个脚本录入上面的函数代码,再通过命令行或者别的脚本调用。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12202476.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存