• C#与matlab混合编程


    环境: VS2010  Matlab2010

    首先,

    编写一个函数集的.m文件。函数名称:class_netbuilder_func

    1 function y = class_netbuilder_func(f)
    2   t = linspace(0,1,400);
    3   y = sin(2*pi*f*t);
    4   plot(t,y);
    5 end
    View Code

    启动Matlab2010,输入deploytool

    选中.NET Assembly,点击确定。

    注意:location不能含有中文字体。

    工程名称Class_Test,点击Add class,添加一个名为class1的类,添加上面写好的.m文件

    点击编译! Done!

    生成文件如下:

    Class_Test包括:src和distrib子文件夹

    src下:

    在Class1中获得:

    using MathWorks.MATLAB.NET.Arrays;
    using MathWorks.MATLAB.NET.Utility;

    添加到VS的工程命名空间中。并添加

    using Class_test;

    继续添加Class_testdll的引用。

    通过浏览从下边的位置添加MWArray.dll

    注意:引用要添加distrib文件夹下的dll。

    在VS项目中添加

    1  private void button1_Click(object sender, EventArgs e)
    2         {
    3             double f = 2.0;
    4             Class_Test.Class1 mytest = new Class1();
    5             mytest.class_netbuilder_func(f);
    6         }
    View Code

    运行!

     注意:exe拷贝给别人时,要将MWArray.dll和distrib文件夹下的dll一并拷贝。

           如果在他人的机器上有如下错误:

    请到开发环境的路径D:Program FilesMATLABR2010b oolboxcompilerdeploywin32下将MCRInstaller.exe一并拷贝给他人,让其安装,

     最好安装到英文路径!

    至此,完成所有工作!

     

  • 相关阅读:
    P1001 A+B Problem
    NOIP2015D1T2 信息传递
    海淀区赛游记。。。。
    P3375 【模板】KMP字符串匹配
    Print Article HDU
    BZOJ-2-4870: [Shoi2017]组合数问题 矩阵优化 DP
    BZOJ-1- 4868: [Shoi2017]期末考试-三分
    #6164. 「美团 CodeM 初赛 Round A」数列互质-莫队
    湖南大学第十四届ACM程序设计新生杯(重现赛)
    Codeforces Round #530 (Div. 2)
  • 原文地址:https://www.cnblogs.com/felixzh/p/4451707.html
Copyright © 2020-2023  润新知