Unable to read file Data_EGCITest解决方法

今天做的是使用matlab进行协整检验,好吧。。听起来似乎很厉害的样子,其实,我也不太清楚协整到底是干嘛呢。不过经管的各位很给力。 想来协整检验matlab是可以做的。所以就去查matlab是不是有这个函数,结果是有的。egcitest,但是具体的参数还是景观的朋友看懂的。

  早上3点多起床,看matlab的书,然后早上看完了。基本上熟悉了matlab的操作。然后就开始写这个。大致的流程和昨天的那篇文章是一致的。但是matlab生成的dll文件在C#里面调用始终会提示这样一个错误。:

MWMCR::EvaluateFunction error … Error using ==>
load Unable to read file Data_EGCITest: No such file or directory. Error in => test.m
  组合了几个关键字进行搜索,发现了这篇文章,翻译过来很简单。

  错误提示说的那个Data_EGCITest是一个名为Data_EGCITest.mat的文件,位于$MATLABROOT/toolbox/econ/econ/Data_EGCITest.mat目录下,$MATLABROOT指的是你matlab的安装路径。在你build 工程的时候,在下图中,记得添加这个文件。

  然后build生成的dll文件就可以正常在C#里使用了。

  中间走了很多弯路。因为我想既然matlab都编译生成了dll,那么dll应该没问题。然后我就把精力放在了C#那边。。结果后来折腾了很长时间,才发现是这边的问题。。坑爹。。

  协整检验的代码就不发了。和题目没关系。。 参考:   http://www.mathworks.cn/help/toolbox/econ/egcitest.html

C#调用MatLab实现N阶幻方

MatLab的计算能力太强大了。最近需要通过C#来调用MatLab来进行一些计算,可是MatLab没用过。安装文件在我硬盘里躺了整整一年。  我们希望的是由外部程序调用MatLab函数。所以。希望可以完全脱离MATLAB环境,实现软件的快速开发。为此需要先介绍一下MCR。 MCR简介  MCR的全称是MATLAB Compiler Runtime,即MATLAB编译器运行时。是一个由MATLAB共享类库构成的执行引擎,他能够使MATLAB文件在没有MATLAB的机器上运行。这一点和.NET Framework相对于.NET程序一样,即为程序的运行提供了底层支持。当发布程序的时候,需要将MCR也打包进来,这样没有MATLAB的机器上也能执行,MCR随MATLAB软件一同发布,可以在MATLAB中输入命令“mcr”或者“mcrinstaller”获取其保存路径: >> mcr The WIN32 MCR Installer, version 7.15, is: D:\Program Files\MATLAB\R2011a\toolbox\compiler\deploy\win32\MCRInstaller.exe MCR installers for other platforms are located in: D:\Program Files\MATLAB\R2011a\toolbox\compiler\deploy\<ARCH> <ARCH> is the value of COMPUTER('arch') on the target machine. Full list of available MCR installers: D:\Program Files\MATLAB\R2011a\toolbox\compiler\deploy\win32\MCRInstaller.exe For more information, read your local MCR Installer help. Or see the online documentation at MathWorks' web site. (Page may load slowly. [Read More]