MATLAB与其他语言的接口问题- lxg_1123@126的日志- 网易博客

MATLAB与其他语言的接口问题

Matlab与其他语言和软件的接口问题


1)如何在Matlab中读取Excel的xls数据文件?

    使用xlsread()函数,或者使用excel的ActiveX接口来进行更复杂的操作。


2)如何在Excel中嵌入Matlab?

     如果你的Matlab安装有ExcelLink,它可以实现Excel与Matlab直接的数据交换,可以在Excel中直接调用matlab的函数,进行绘图或者数据处理。

 

       不过如果没有安装ExcelLink,你仍然可以使用Matlab的ActiveX接口来调用matlab,下面是一个Excel宏函数,作为例子:

Sub CallMatlab()
' Dimension variables
Dim MatLab As Object
Dim Result
Dim Invals(3, 4) As Double
Dim MImag() As Double
Dim i, j As Integer
' Invoke Matlab
Set MatLab = CreateObject("Matlab.Application")
' Read Invals from current spreadsheet
' (Assume Invals stored in B3:E5)
For i = 0 To 2
For j = 0 To 3
Invals(i, j) = ActiveSheet.Range(Cells(i + 3, j + 2), Cells(i + 3, j +
2)).Value
Next j
Next i
' Send Invals to Matlab
Call MatLab.PutFullMatrix("a", "base", Invals, MImag)
' Send instructions to Matlab
Result = MatLab.Execute("b=a.^2;")
' Retrieve Result
Call MatLab.GetFullMatrix("b", "base", Invals, MImag)
' Store Result in B8:E10
ActiveSheet.Range("B8:E10").Value = Invals
End Sub

3)mcc,mex,mbuild都是作什么用的?

   mcc(生成c/cpp文件)-----m--mex------ mex/dll---x--mbuild-----C/C++ compiler----独立执行的程序
     mex文件是一种编译后的动态连接文件,需要在matlab中执行,优点是执行速度比m文件快,而且如果你不想提供m文件源码,可以使用编译后的mex/dll文件。
      mbuild通过调用外部的c/c++编译器,把mcc翻译成的c/c++源码与matlab的c/c++数学库、图形库链接,得到独立执行的可执行程序。

 

 



 

郑重声明:资讯 【MATLAB与其他语言的接口问题- lxg_1123@126的日志- 网易博客】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——