1. vb.net調用matlab
Matlab產生的M文件不能直接在VB中調用,可利用mcc將M文件直接編譯成.EXE文件,然後在VB中聲明下面三個API函數,最後使用Shell命令即可實現VB與Matlab的無縫集成。
1. 用mcc生成獨立的外部應用程序。可使用如下兩種命令:
mcc -p file.m 或 mcc -m file.m
2. 在VB中聲明調用的三個API函數:
● Declare Function WaitForSingleObject Lib 「kernel32」(ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
● Declare Function CloseHandle Lib 「kernel32」(ByVal hObject As Long) As Long
● Declare Function OpenProcess Lib 「kernel32」(ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long,ByVal dwProcessId As Long) As Long
3. 示例代碼:
Dim lTask As Long, lret As Long, lHandle As Long
』執行file.exe文件
lTask = Shell(「file.exe」, vbNormalFocus)
lHandle = OpenProcess(SYNCHRONIZE, False, lTask)
』等待進程執行完畢
lret = WaitForSingleObject(lHandle, INFINITE)
lret = CloseHandle(lHandle)
』 file.exe文件執行完畢後,繼續執行應用程序
……
通過以上編碼,應用程序可以在執行過程中調用.EXE完成特定的計算或圖形功能後,再繼續其執行過程,從而實現與Matlab的集成。
2. vb.net2010與matlab聯合編程的問題。
這個混合編程有多種方式,關鍵是怎麼來連接。
目前常用的方法有:
1)dll動態鏈接庫
2)VB 利用shell () 函數調用MATLAB 應用程序
3)動態數據交換(DDE)
4)ActiveX自動化服務技術
其中,
1)可以脫離matlab系統,但是需要注冊該dll文件。運行速度較快。
2)中程序的運行脫離不了MA TLAB 環境, 無法開發出獨立的可執行程序,難以用於商業目的。
3)其實是把matlab當做vb的一個客戶端,進行數據交換,這明顯不能脫離matlab系統。
4)中所編制的程序並沒有脫離MA TLAB 環境, 需要在機器上安裝好MA TLAB 系統。
3. 各位大神,小弟請教一個問題,怎樣在VB中實現調用MATLAB的M文件並在VB顯示結果,M文件代碼在問題補充中
請參閱:
http://wenku..com/view/1194160402020740be1e9bbe.html
http://..com/question/266934259.html
http://download.csdn.net/download/zilianxuanw/1408004
一、藉助 ActiveX部件
沒什麼好說的
二、藉助DDE技術
DDE(Dynamic Data Exchange)允許Microsoft Windows應用程序通過交換數據實現彼
此間的通信。類似於C/S模型
三、通過M文件
Matlab產生的M文件不能直接在VB中調用,可利用mcc將M文件直接編譯成.EXE文件,
然後在VB中聲明傳說中的三個API函數,最後使用Shell命令即可實現VB與Matlab的無縫集
成。
四、引入MatrixVB
MatrixVB是MathWorks針對VB提供的一個Matlab庫,為VB提供了強大的功能擴展。在VB中使用該數學工具包可避免重復性勞動,從而減少開發人員實現演算法和界面設計的困難。
具體的怎麼實現,不是一兩句話講得明白的,最關鍵的是你一分都不給啊!^_^
(其實,按我上面說的關鍵字,網上搜一下一大堆!)
4. vb.net調用matlab編譯的dll
我也試過, 應該沒有別的方法,mcrinstaller里包含你程序里調用的matlab自帶函數的c語言版本。如果不安裝,那隻好在mcrinstaller目錄里一個一個找到你所需要的函數庫導入到電腦並設置環境變數。這樣還不如直接安裝方便。
5. 求vb.net的源代碼,最好說明其解決問題,越多越好,滿意加50分。
下面這段代碼,是我用來計算每個月存500元進銀行,連續30年,最後連本帶利能有多少錢。這裡面涉及復利計算。界面中右邊的文本框用來輸出每一次計算的結果。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim nianxian As Integer '年限變數
Dim dingcun As Integer '定存變數
Dim fuli_big As Long '大復利
Dim fuli_small As Long '小復利
Dim i As Integer '循環變數
Dim DATAstring As String '數據字元串
nianxian = Val(年限_TextBox.Text)
dingcun = Val(定存_TextBox.Text)
DATAstring = ""
For i = 1 To nianxian
fuli_small = dingcun * (1 + 0.1875)
dingcun = fuli_small
fuli_big = fuli_big + fuli_small
DATAstring = DATAstring + "[" + Trim(Str(i)) + "]" + Str(fuli_big) + Chr(13) + Chr(10)
'DATAstring = DATAstring + "[" + Trim(Str(i)) + "]" + Str(fuli_small) + Chr(13) + Chr(10)
Next
'fuli_big = fuli_small
TextBox1.Text = DATAstring
結果_TextBox.Text = Str(fuli_big) + "元"
End Sub
6. 能把vb.net的生成的數組傳給matlab來進行處理嗎這個功能怎麼實現
可以的。下面的代碼是幫助文檔中。Dim Matlab As ObjectDim C2 As VariantDim Result As StringMatlab = CreateObject("matlab.application")Result = MatLab.Execute("C1 = {25.72, 'hello', rand(4)};")MsgBox("In MATLAB, type" & vbCrLf & "C1")Matlab.GetWorkspaceData("C1", "base", C2)MsgBox("second value of C1 = " & C2(0, 1))
7. 如何用vb.net獲得網頁的源代碼
Dim url As String=" 網址"
Dim httpReq As System.Net.HttpWebRequest
Dim httpResp As System.Net.HttpWebResponse
Dim httpURL As New System.Uri(url)
httpReq = CType(WebRequest.Create(httpURL), HttpWebRequest)
httpReq.Method = "GET"
httpResp = CType(httpReq.GetResponse(), HttpWebResponse)
httpReq.KeepAlive = False ' 獲取或設置一個值,該值指示是否與
Internet資源建立持久連接。
Dim reader As StreamReader = _
New StreamReader(httpResp.GetResponseStream,
System.Text.Encoding.GetEncoding(-0))
Dim respHTML As String = reader.ReadToEnd() 'respHTML就是網頁源代碼
8. VB.net調用Matlab生成的DLL問題
已測試,源碼如下:
一、Matlab函數代碼
functionx=LU5(a,b)
fori=1:length(a)
x(i)=a(i)+b(i);
end
二、VB.NET2005測試代碼
PrivateSubtest()
DimstAsNewQCS_com.QCS_LU5
Dima()AsDouble={1,2,3,4}
Dimb()AsDouble={1,2,3,4}
DimxAsNewObject
st.lu5(1,x,a,b)
DimrAsDouble(,)
r=CType(x,Double(,))
EndSub
三、測試截圖見附圖
補充一下環境:Matlab6.5版本,是基於COM調用的。最新版的.net調用沒試驗過。這個是我前一陣子幫同學寫的,他裝的版本是6.5,所以就裝了個6.5的版本,後來因為涉及到小波及擬合,用COM打包調用有些問題,最後還是採用了引擎方式進行處理了。
9. 如何用VB.NET調用MATLAB。在VB界面輸入不同的數據,經MATLAB後台計算輸出結果也顯示在VB界面上。新手請舉
文庫裡面有。
10. vb.net調用matlab編譯的dll
有個叫孫科的寫過matlab的com,dll調用,你可以下載下看看,我用vc調用過,也就是一些介面函數的賦值而已。