科学研究是一个发现问题、解决问题的过程。国内环境中,大多数情况下,你应该是单枪匹马在战斗,所以问题的发现基本只有一个途径——看论文!在看了一大堆论文以后,找到一个问题,开始想办法解决这个问题。解决问题的过程中,你会需要众多技能来支撑起你快速前进的步伐,这些技能基本包括:编程、参数调整、做图、写作、排版。
在博士的路上,我没有像很多大牛一样一帆风顺。经历了很长一段世间的尝试、思考在尝试迭代之后,才取得了一点点结果。但是这个过程让我积累了一个完整的经验链条。
实现想法
永远要记住:!!怎么快怎么来,不要在技术细节上纠结!!
我所在的领域需要编程来实现自己的想法。给出以下经验,以供后来者借鉴:
使用高级语言
根据自己的需要使用高级语言。
- C++, C++是一种介于高性能和使用方便之间的一种语言。它比C语言性能差一丁点,但是它写起来比C语言简单一点。相同的功能,可能Java要比C++花的时间要短一点,但是Java的性能会比C++要慢一点。
- MATLAB,MATLAB可以用来实现一个简单的算法,它已经包含了大量的函数,你可以很容易的实现自己的算法。
- Python,Python在Linux下用的时候要方便一点,Windows上时不时的给你点问题,在Linux下就好多了。Python也有好多库可以用。
使用现有的代码
比如你要对图像做个高斯滤波,不要花时间自己实现高斯滤波!调用现有的函数!
调整参数
如果你用C++,不要每调整一次参数,都编译后再测试效果。比较好的办法是将你的参数作为命令行参数传入到的你程序里,参数处理用Boost的program option就行了。
编译好以后,如果你用的是Windows,