用MATLAB编译.dll文件给C#调用时,怎么把MATLAB中的.mat文件和.m文件一起编译进去。
我写了一个m函数文件,因为其中涉及神经网络预测,将训练好的网络存为了.mat文件,运行程序时需要调用。现在想在C#中实现函数功能,不知道怎么把m文件和mat文件一起编译成...
我写了一个m函数文件,因为其中涉及神经网络预测,将训练好的网络存为了.mat文件,运行程序时需要调用。现在想在C#中实现函数功能,不知道怎么把m文件和mat文件一起编译成dll文件,求高手解答。我试过很多次了,MATLAB中自带的deploytool编译工具只能编译m文件,不能识别mat文件,怎么办,求具体过程。
比如:.m文件函数是:
funciton result=func(x1,x2)
Load net.mat;
p=[x1,x2];
y=sim(net,p);
result=y;
end;
C#中调用编译好的.dll文件语句是:
DotNetClass myclass=new DotNetClass();
之后该怎么编呢?我在网上查了资料,是不是需要用MWArray和MWNumericArray方法?还是说这样:
string adress=“D:\\Matlab\net.mat”;
myclass.func(adress) 这样写对吗?那输入参数和输出参数怎么办呢?下面又怎么写? 展开
比如:.m文件函数是:
funciton result=func(x1,x2)
Load net.mat;
p=[x1,x2];
y=sim(net,p);
result=y;
end;
C#中调用编译好的.dll文件语句是:
DotNetClass myclass=new DotNetClass();
之后该怎么编呢?我在网上查了资料,是不是需要用MWArray和MWNumericArray方法?还是说这样:
string adress=“D:\\Matlab\net.mat”;
myclass.func(adress) 这样写对吗?那输入参数和输出参数怎么办呢?下面又怎么写? 展开
展开全部
一般来说接口不怎么好弄的。c里好像只有数组概念没有矩阵概念?直接调用矩阵有问题,至少我用过VB这个问题解决不了。所以你可以用个笨办法,建个excel,matlab数据写入,c在读出。看你上面说的数据类型的问题,通过数据写入读取也就不是问题了。当然这是你对精度要求不高情况下。
追问
不好意思,我说的是C#语言,不是C语言,而且我需要读取的不是普通的存储矩阵数据的.mat文件,它是训练好的神经网络数据,MATLAB中默认名称为net.mat,它存储的不是简单的数据矩阵,是关于神经网络的一些特性描述,所以应该不能用excel来存储。你说的方法解决不了这个问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询