把matlab与其他语言混合使用是一种挺实用的技巧,在前期使用matlab进行算法设计和计算仿真,而在需要编写程序原型的时候把matlab算法模块嵌入到C++或C#的程序里,一方面省的再用C++或C#重写代码,另一方面也可以直接调用matlab里的一些工具箱。
至于混合编程的手段也是多种多样的,最简单的可以调用matlab引擎或将matlab文件打包成动态链接库,不过官方比较推荐的是打包成COM组件,这种方法很适合于算法复杂,涉及很多matlab文件的情况。matlab提供了打包COM的编译器,使用起来也是很方便的。我在图书馆找的相关书籍都是讲matlab和C++混合编程的,说实话用C++写真的挺费劲的,最麻烦的是输入输出是矩阵序列的情况,需要写很多转换和处理的代码;不过如果用C#的话就方便很多了,根本不用管什么类型,.NET框架帮我们处理了。下面是我参考其他资料后自己写的一个matlab与C#混合的程序实例。
1 matlab程序编写
先写个matlab程序吧,我用的matlab比较老,2010b,程序的话就写个简单的绘制正弦波形函数,即绘制一个周期的 y=Asin(ωt+θ) 波形, A