大神带你如何正确认识它

最近国内有一堆人哭着喊着说Matlab又卡脖子了。如果matlab就卡脖子了,那么有一堆行业软件ProE, Ansys, Solidworks, CATIA, Fluent纷纷表示不服。

 

我在2000年左右开始接触matlab,2005年左右因为正版化的要求,曾经尝试过去Matlab,根据我的阅历说说我的观察与理解。

初识Matlab

2000年,我从一个盗版光盘的小贩那边买到一张光盘。当时蛮流行一张光盘里塞满各种软件包的。这张光盘里恰巧有Matlab 6和mathmaTIca 3.0。

1. 颜值高。

帮助文件中有很多很多非常漂亮的demo。虽然你不懂公式啥意思,一按回车就能给你画一个非常漂亮的曲线和曲面。我当时也记住了 wolfram research。

2. 做作业太方便了。

各种微分方程,各种积分,一输入就出结果,太爽了。

其实当时我还是很有互联网思维的,还想把mathemaTIca变成一个在线版,这样大家都可以用了。结果卡壳在MathemaTIca那牛逼的公式编辑器上了。直到今天我也没有看到web版这么牛逼的公式编辑器。

Matlab 当时还是6.0版本, 在做矩阵运算的时候特别好用。

但是随着时间的推移发现Matlab很好用了:

1. Matlab可以做复杂的编程。

2. Matlab的各种工具包非常多,非常好用。

比如信号工具箱非常好用,在做数字信号处理的时候非常有用。

比如小波分析的时候,Matlab的工具包几乎是唯一的选择。

3. Simulink博大精深。

在做模拟的时候,数字图像处理的时候,做数值分析的时候,根本离不开matlab。

而且随着Matlab功能的升级也越来越强大,你自己可以写DLL被Matlab调用,还可以把Matlab代码转成C++调用的库(效率极低,但是忽悠足够了)。

Labview也很牛

很快matlab变成了研究的必备工具。

替代Matlab

2005年左右,因为种种原因不能再用Matlab了,所以当时就开始物色替代品。

最开始是裸写用C++库,当时正好Intel推出了OpenCV,里面的矩阵计算库CvMat还蛮好用的。但是如果用C++做稍微大点的研究,人要疯掉的。但是用C++写好处是运行效率高。一旦算法敲定,立马就可以投入实用。但是用C++写太麻烦了。

再后来,选定开源的Scilab来替代一些Matlab数值计算的功能。基本能满足数值计算的需求。但是仅此而已,他的那些周边的工具箱,很难找到替代品。

这个界面是不是和早期版matlab版本很像?截图里面INRIA是法国超级牛的研究机构

我们最后在数值计算和图像处理方面替换掉了matlab,代价也非常大,比如大量matlab库函数需要重写。

为什么中国没有Matlab的竞品?市场化与盗版!

我先举一个我认识的人的故事:我认识的一个老师实验室在20年前开发了一套机械设计的CAD系统,叫小雨点CAD系统。在机械设计方面做的非常好,是当时整个行业中少有的完全自主开发的CAD系统。他们就是在做科研的时候把程序写好,不以发论文目的。

2000年的机械CAD系统用visual C++ 6 开发的

然而在5块钱一张的AutoCAD+ ProE的围攻下,挂了。

一个非常简单的问题:

国内有面向国内客户靠卖license挣钱的大中型软件公司么?

据我所知,在很长一段时间内,这样的公司几乎没有。金山,用友这几年开始新的盈利模式,开始回血了。有一段时间,金山软件在日本挣了不少钱,在中国市场几乎都是白嫖。

Matlab能够在美国成功,是因为市场给他正向反馈,做的好了,有人要,有人愿意付钱。挣了点钱,养的起一个人,就养一个人,开发新功能,愿意付钱的人更多了,就可以养十个人,功能也越来越多。市场经济在起作用。

Matlab在中国,毫不夸张的说,很长一段时间国内理工科学生的电脑上基本都有盗版的Matlab,而且还都是最新版本的。爱不爱学习再说,但是matlab是装机必备的。 带来一个结果就是,任何最基本的国产替代都是徒劳的。

还有一点,行业软件难做的一个原因是背后的算法,数据,经验的积累。很多人以为中国现在科技水平真是坐二望一了,然而很多稍微复杂一点大型行业软件背后都是有大量算法支持的。这些算法背后就是科研水平的差异,这才是最根本卡脖子的地方。开源软件打磨之痛

这里首先吹一波阿里。

阿里是中国互联网公司中最具有领袖气质的公司,阿里的很多项目开源,大大促进了中国互联网公司的发展。比如 阿里的dubbo 现在几乎成了国内soa的事实标准。阿里的tengine 也是国内很多互联网公司web 服务器的担当,阿里的Blink是国内实时计算最流行的框架。阿里的开源项目有很多很多,上万星的项目一大堆。

阿里是中国的一个另类。远远要强于,腾讯,百度,华为,美团等为开源社区作出的贡献。

linux基础
http://www.makeru.com.cn/course/details/2058?s=143793
linux高级
http://www.makeru.com.cn/course/details/2478?s=143793
linux多线程编程
http://www.makeru.com.cn/course/details/1937?s=14379

猜你喜欢

转载自www.cnblogs.com/jinwenyi/p/13386271.html