回 帖 发 新 帖 刷新版面

主题:(Guassfans,能再麻烦你一下吗?)matlab建立BP神经网络

我的目的是:所建立的BP网络最后需要脱离Matlab运算(即使不装Matlab也可以运行),换句话说,脱离Matlab运行,把整个Matlab算法做成一个模块,最后直接调用它。应该怎么作?我听说要做成一.Dll还是什么,你能具体说下你是怎么作的吗?(我是嵌入VB)。

还有一个思路:整个过程,包括建立BP网络都用VB完成(即将BP原始算法用VB写出)

哪个更好或者说更简单?应该分别怎么做?

多谢!!

回复列表 (共13个回复)

沙发


直接用MATLAB编写,然后编译做成可执行程序就行了吧

板凳

[quote]
直接用MATLAB编写,然后编译做成可执行程序就行了吧[/quote]


即便如此也不能脱离MATLAB环境的!
做成DLL吧

3 楼

[quote][quote]
直接用MATLAB编写,然后编译做成可执行程序就行了吧[/quote]


即便如此也不能脱离MATLAB环境的!
做成DLL吧[/quote]
能说的详细点吗?
用Matlab写M文件的时候能用工具箱函数(例如newff)吗?是不是应该自己写出BP算法(用matlab语言)??

4 楼

当然可以用MATLAB的库函数了,只要你的M文件能得到你要的结果!
在编程M文件时,要注意MATLAB中的变量与VB中变量类型的差异,要不然在传值时会出现问题.

5 楼

[quote]当然可以用MATLAB的库函数了,只要你的M文件能得到你要的结果!
在编程M文件时,要注意MATLAB中的变量与VB中变量类型的差异,要不然在传值时会出现问题.
[/quote]
感谢你的回复.我还有一个问题:
    我想通过VB实现对神经网络的控制(例如通过VB界面改变隐含层神经元个数,训练次数等等),通过上述做Dll的方法可以实现吗?
    我听说只要在编写M文件的时候设定好这些变量(例如神经元变量a,训练次数变量b等等)就可以实现我的目的,是这样的吗?
    希望您能给个详细点的答复好吗?
    多谢!!!!

6 楼

尽管我不懂  神经网络  但你的想法是没错的
由于不了解 神经网络  对于如果设定好这些变量  我也不好说
我做过别的例子  对于VB与MATLAB相互传值的变量,在M函数中是设为global 型的
所以你也不妨一试
如定义变量为 global a b

7 楼

[quote]尽管我不懂  神经网络  但你的想法是没错的
由于不了解 神经网络  对于如果设定好这些变量  我也不好说
我做过别的例子  对于VB与MATLAB相互传值的变量,在M函数中是设为global 型的
所以你也不妨一试
如定义变量为 global a b[/quote]
真是太感谢了!!!!我明白了,而且也知道如何利用库函数写BP了,真是非常感谢啊!
不过现在下一个问题又来了[em8]:
我用Combuilder将M文件做成dll之后,如何在VB里调用呢?我看到你说"我做过别的例子  对于VB与MATLAB相互传值的变量",所以希望恳请您能举一个具体的例子说一下.
    例如,您能在Matlab里写个简单的函数,做成dll,然后再在VB调用一下吗(例如需不需要声明,还是只要"工程"-"引用"就可以?如果需要象API那样声明的话怎么弄?)?希望您把VB工程和M文件以及做成的dll做成附件传上来可以吗?
    我要求的很麻烦,不过,我觉得没有具体的例子,总不明白    .
    恳请这位高手能帮我一下,上了好多论坛都没人理啊,非常感谢,非常感谢!!!!

8 楼

例子我找找!
[quote]只要"工程"-"引用"就可以
[/quote]
<<MATLAB高级编程>>这本书上有较详细的例子!

9 楼

用Comtool做dll有没有成功?

10 楼

[quote]用Comtool做dll有没有成功?[/quote]
没有成功,因为M文件还在调试阶段(基本没什么问题了)。只不过,我想看下VB是如何引用dll的,所以我想让你先用Matlab写一个简单的函数,做成dll,然后再在VB里调用一下,我主要是想看下这个过程。

我来回复

您尚未登录,请登录后再回复。点此登录或注册