如何用c#调用最新版的matlab呢?有没有这样的接口呢?网上介绍vc调用方法的到处都是,vb.net也给我淘出一篇,可就没有c#啊。烦请高人指点,给出示列代码啊,项目有用,感激不尽,分不够我可以出二百啊!谢谢大家,也请有同样疑惑的兄弟多多up啊!

解决方案 »

  1.   

    VB.Net的和C#没有什么太大的区别!你把VB.net的代码贴出来
    我们试着给你翻译一下
      

  2.   

    代码: Dim strMatLab As String '定义matlab语句字符串 
    ' 显示正弦图 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
    Dim MatLab As Object 
    '建立matlab应用 
    MatLab = CreateObject("matlab.application") 
    '最小化matlab命令窗口 
    MatLab.MinimizeCommandWindow() 
    'matlab语句 
    strMatLab = "t=2:0.2:4*pi;y=sin(t);plot(t,y)" 
    '执行matlab算法 
    matlab.Execute(strMatLab) 
    '生成一个JPG的图形c:\Test1.jpg 
    matlab.Execute("print( gcf, '-djpeg', 'c:\Test1')") 
    '退出matlab,释放资源 
    matlab.Quit() 
    MatLab = Nothing 
    '显示在图片框 
    PictureBox1.Image = New Bitmap("c:\Test1.jpg") 
    End Sub ' 显示饼图 
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click 
    Dim matlab As Object 
    matlab = CreateObject("matlab.application") 
    strMatLab = "sale=[100 400 150 250 500];pie3(sale,[0 0 1 0 0],{'公司A','公司B','公司C','公司D','公司E'})" 
    matlab.Execute(strMatLab) 
    matlab.Execute("print( gcf, '-djpeg', 'c:\Test2')") 
    matlab.Quit() 
    matlab = Nothing 
    PictureBox1.Image = New Bitmap("c:\Test2.jpg") 
    End Sub ' 显示三维螺旋线图 
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click 
    Dim matlab As Object 
    matlab = CreateObject("matlab.application") 
    strMatLab = "t=0:0.2:4*pi;plot3(sin(t),cos(t),t)" 
    matlab.Execute(strMatLab) 
    matlab.Execute("print( gcf, '-djpeg', 'c:\Test3')") 
    matlab.Quit() 
    matlab = Nothing 
    PictureBox1.Image = New Bitmap("c:\Test3.jpg") 
    End Sub ' 显示立体波浪图 
    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click 
    Dim matlab As Object 
    matlab = CreateObject("matlab.application") 
    strMatLab = "[X,Y,Z] = peaks(20);surfc(X,Y,Z);colormap hsv;axis ([-2 4 -6 8 -10 6])" 
    matlab.Execute(strMatLab) 
    matlab.Execute("print( gcf, '-djpeg', 'c:\Test5')") 
    matlab.Quit() 
    matlab = Nothing 
    PictureBox1.Image = New Bitmap("c:\Test5.jpg") 
    End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
    PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage 
    End Sub 以上是vb.net的代码,烦请高手翻译啊
      

  3.   

    微软的.NET开发工具,结合数据库SQL SERVER,是开发数据库应用的最佳选择!我们可以把SQL SERVER里的数据用MATLAB算法进行处理,还可以将自己写的算法包装成COM,在.NET中引用就可以了。在使用的MATLAB算法时,图形输出的功能往往被人忽略,下面的例子,就是采用的MATLAB出的图形 首先在.NET中,引用matlab 的对象库(Matlab Application(version 6.5) Type Library),笔者采用的是MATLAB 6.5 版本,然后在窗体上加一个图片框PictureBox1,用于显示图片; 
    一个Button1用于调用MATLAB,并加载图形以上是代码前面的一些话,一起帖出
      

  4.   

    太具体就不说了!
    添加引用后
    用对象浏览器察看引用的dll
    这样可以看见函数的定义在以后自己用函数吧
      

  5.   

    我做过c#的项目,也转过代码了,vb.net的我试过是可以的,但c#不行啊。
      

  6.   

    实在不行的话用vb.net写一个类封装一下,就可以在c#里面用了
      

  7.   

    // 以下两者之一,根据 ProgID 或者 GUID 创建类型
    Type objType = Type.GetTypeFromProgID("ABC.DEF");
    Type objType = Type.GetTypeFromCLSID( new Guid("{12345678-1234-1234-1234-123456789ABC}") );
     
    // 创建对象
    object o = Activator.CreateInstance( objType );
     
    // 执行相应方法
    o.InvokeMember(....);接分