c#调用matlab脚本

来源:互联网 发布:qt多线程编程 编辑:程序博客网 时间:2024/05/18 00:22

使用C#调用matlab脚本

其实在实际的程序中,我是不推荐使用matlab的,因为实际项目必须使用正版的matlab且matlab的部署还是一个问题,所以matlab的脚本仅适合在项目测试阶段或者个人使用的时候进行分析,通过调用标准的matlab后缀为.m的文件进行数据处理分析

  • 环境:vs2013,matlabR2015b
  • 语言:C#,Winform项目

添加dll

在引用中右键——添加引用,选中com一栏,搜索matlab,在结果中选择matlab application,添加引用

在C#中使用

代码如下

 public void test(string inputpath,string outputpath,double samplerate)        {            string path = info.Parent.Parent.Parent.FullName + "\\install";            path.Replace("\\","/");            matlab.Execute(@"cd "+path); //切换到执行目录            object result = null; //定义输出            matlab.Feval("fun_filter_50hz", 2, out result, inputpath, outputpath,samplerate );            //matlab.Feval("myfunc", 2, out result, inputpath,outputpath,samplerate);            object[] res = result as object[];        }

代码中,path是.m脚本文件的路径;参数inputpath是我待分析的文件路径,outputpath是我分析完之后文件的存储路径,samplerate是采样率,这三个是实际项目的自定义参数,可以忽略;
使用方法是:
1. matlab.Execute(@”cd “+path); //path为脚本目录
2. object result = null; //定义输出
3. matlab.Feval(“fun_filter_50hz”, 2, out result, inputpath, outputpath,samplerate );
参数1:脚本名称;
参数2:输出参数个数;
参数3:object 对象,储存输出结果;
参数4及之后:输入参数
4. object[] res = result as object[]; //将输出结果转化为对象数组,可以对数组操作的到结果。

参考文章链接:http://cn.mathworks.com/help/matlab/matlab_external/call-matlab-function-from-c-client.html

0 0
原创粉丝点击