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调用过,也就是一些接口函数的赋值而已。