• C#中调用Matlab程序


    1,matlab中建一个m文件(test.m)

    例如:
    function test(h,D)
    for x=-10:0.1:10,
       if x>D
           y=h;
           hold on;
           plot(x,y)
       elseif x<-D
           y=-h; 
           hold on;
           plot(x,y)
       else
           y=h/(D*x);
           hold on;
           plot(x,y)
       end
    end

    MATLAB R2007a中输入deploytool命令(matlab6.5中输入comtool),打开Matlab Build For .net窗口新建个工程,在此工程中“Add files”即填加test.m这个文件,build即可生成COM组件,为test.dll,即为我们将在C#中引用的COM组件。

    Buildmatlab已经自动将此dll在注册表中注册

    不过之前我们还需做一个准备工作,打开开始菜单运行,输入regsvr32 "matlab安装路径\bin\win32\mwcomutil.dll",即对mwcomutil.dll进行注册(这个dllmatlab下作的任何com组件都要用到的dll),下面我们在其他编译器下调用时就可以用了。

    2,下面即可在C#中调用dll文件:

    "引用"右击,选择浏览,找到test.dll,添加。
    "
    引用"右击,选择浏览,找到MWArray.dllmatlab安装路径\toolbox\dotnetbuilder\bin\win32\v2.0\MWArray.dll,添加。
    再写入以下代码:
                test.testclass st = new test.testclass();
                MathWorks.MATLAB.NET.Arrays.MWArray m = 1, n = 2;
                st.test(m,n);

  • 相关阅读:
    poj2774
    GDOI2012 字符串
    poj3261
    poj1743
    bzoj 2565 manacher
    归档-ios
    学习
    ViewPager动态加载、删除页面
    android:ScrollView嵌套ListView的问题
    Android学习笔记进阶之在图片上涂鸦(能清屏)
  • 原文地址:https://www.cnblogs.com/gisdream/p/2142730.html
Copyright © 2020-2023  润新知