见附件,一个基本的用java编写的BP网络代码。
目前成都创新互联已为上千余家的企业提供了网站建设、域名、虚拟主机、网站改版维护、企业网站设计、崇阳网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
BP(Back Propagation)神经网络是86年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训迅盯练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使培慧网络的误差平方和最小。BP神经网络模型拓扑结配昌答构包括输入层(input)、隐层(hidden layer)和输出层(output layer)。
你好。你说的问题我没遇到,在网上查了一些相关的资料,希望对你有用。
一、有2个人出现了类似的问题(,)可能原因是Matlab升级或者系统重装造成函数版本不匹配。
给出的解决办法如下:
以管理员身份启动Matlab;
在命令行窗口输入:rehash toolboxcache
因为无法重现你的问题,所日无法实验,你自己试一下。
二、其他参考答案():故障一:matlab一打开随即自动关闭 解决方法: 这是CPU和默认设置不一样造成的。假设你的CPU不是P4,而是AMD的ATHLON那么修改的方法就是: 首先请确认你的MATLAB的文件夹中有如下文件:atlas_Athlon.dll(AMD系列的请用这个,其他的CPU也有相应的问题件,就在MATLAB文件夹下),这些是对应处理器的数值运算优化文件余州。然后请按如下步骤进行: 1.右击我的电脑,选择属性. 2.在\"高级\"选项卡中点击\"环境变量\" 3.在系统变量下面添加如下内容(按\"新建\"): 例如: 变量名:BLAS_VERSION 变量值:X:\\Matlab7\\bin\\win32\\atlas_Athlon.dll (注:这个X是你的前知matlab的安装盘符,换句话说,这个是这个atlas_Athlon.dll 的竖悔蔽路径,自己对着改一下)然后运行你的MATLAB吧! 故障二:打开matlab就出现如下的提示 The element type "name" must be terminated by the matching end-tag "/name". Could not parse the file: d:\matlab7\toolbox\ccslink\ccslink\info.xml.第一个问题解决后,可能出现这个故障. 解决方法是: 找到d:\matlab7\toolbox\ccslink\ccslink\info.xml 这个文件,一定要用写字板打开这个文件 ,找到有一行这样的nameLink for Code Composer Studio?/name,大概是在第七行吧,把这句的/name改成/name,再保存一下这文件。
三、如果上述方法不行,你可以考虑下载完整版,重新安装。
希望能解决您的问题。
可以的
JAVA调用蠢圆好MATLAB程带铅序
一、在MATLAB中编辑operation.m,
%定义一个函数operation(a,b),求a与b的加减乘除运算,并返回结果
%函数定义function 输出变量列表[s,m,...] 函数名(输入变量列表)sum,sub,mul,div中
function [sum,sub,mul,div] = operation(a,b);
sum = a + b;
sub = a - b;
mul = a * b;
div = a / b;
end
二、生成Java调用文件
Matlab命令中输入deploytool,新建一个matlab builder ja文件,在operationclass中添加operation.m文件,点击bulid the project,生成一个供java调用的文件夹结构如下:
Operation -----|----distrib
| |-----operation.jar
| |-----readme.txt
|
-------src
| |----operation
| |----operationclass.java
| |----operationMCRFactory.java
|----operationclassRemote.java
| |----classes
| |----operation
| |----operation.ctf
| |---- operationclass$1.class
|---- operationclass.class
|---- operationclassRemote.class
|---- operationMCRFactory.class
|-------build.log
|-------operation.ctf
| -------operation.jar
|-------mccExcludedFiles.log
|-------readme.txt
三、Java中建立一个java project工程JavaTestMatlab,导入两个库文件javabuilder.jar(C:\腔裤ProgramFiles
\toolbox\javabuilder\jar)和operation.jar(D:\My Documents\MATLAB\operation\distrib\ operation.jar),
编写java程序JavaTestMatlab.java程序如下:
import operation.*;
import java.util.Scanner;
class JavaTestMatlab
{
public static void main(String[] args)
{
Object result[] = null;
operationclass myAdd = null;
try
{
int a,b;
myAdd = new operationclass();
System.out.println("从键盘输入两个操作数:");
System.out.print(" 输入第一个操作数:");
Scanner scan = new Scanner(System.in); //从控制台读入输入的整数
a = scan.nextInt(); //从控制台输入第一个操作数
System.out.print(" 输入第二个操作数: ");
b = scan.nextInt(); //从控制台输入第二个操作数
result = myAdd.operation(4,a,b); //operation(4,a,b)中第一个参数是返回值的个数 ,a是第一个输入参数,b是第二个输入参数
System.out.print("The sum of " + Integer.toString(a) + " and " + Integer.toString(b) + " is: ");
System.out.println(result[0]);
System.out.print("The sub of " + Integer.toString(a) + " and " + Integer.toString(b) + " is: ");
System.out.println(result[1]);
System.out.print("The mul of 5itjbob " + Integer.toString(a) + " and " + Integer.toString(b) + " is: ");
System.out.println(result[2]);
System.out.print("The div of 5itjbob " + Integer.toString(a) + " and " + Integer.toString(b) + " is: ");
System.out.println(result[3]);
}
catch (Exception e)
{
System.out.println(e);
}
}
}
测试结果如下:
从键盘输入两个操作数:
输入第一个操作数:55
输入第二个操作数: 22
The sum of 55 and 22 is: 77
The sub of 55 and 22 is: 33
The mul of 55 and 22 is: 1210
The div of 55 and 22 is: 3
四、 错误调试
1. 安装matlab不完整,没有toolbox\javabuilder下的文件
2. 环境变量中classpath中添加两个jar文件的路径
灰色预测模型为粗岁GM(1,1)
灰参数a和漏凳仔u的值:
a=-0.0323252892223847 u=14042.3315313962
原始序列预测返汪值:
13205 14705 15188 15687 16203 16735 17285 17853 18439 19045
累加序列预测值:
14705 15188 15687 16203 16735 17285 17853 18439 19045 19671
级比值:
0.933017734755882 0.991731483427931 0.906095238095238 0.951546640889319 0.951264367816092 0.952798160113898 0.980668027064762 0.994977559307544 1.07637451115712
相对误差值:
0 3.90438540431923 6.43063985387993 0.395441255218115 2.10782203579584 3.81930406598348 5.34849588953024 4.12878515843797 1.47641388551927 0.5323261370569
2013-2017年的预测值
2013 20317.4561851648
2014 20984.954243779
2015 21674.381900971
2016 22386.4596192006
2017 23121.9315305897