专栏作品
在.NET中应用MATLAB算法
李洪根
    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