package org.gongzhihui;
/**
* @author Gong
* 每次经过forecast()方法进行误差计算模型
*/
public class Shopping {
//点餐产品的价格
private static final int priceFish = 15;
private static final int priceChips = 30;
private static final int priceChup = 18;
int right = 0;
//点餐产品的预估价格
private float XpriceFish;
private float XpriceChips;
private float XpriceChup;
//预估系数
private static final int para_e = 35;
public void randomShopping(Shopping shopping) {
float p1 = (int) (Math.random() * 5);
float p2 = (int) (Math.random() * 5);
float p3 = (int) (Math.random() * 5);
shopping.forecast(p1, p2, p3);
}
private void forecast(float p1, float p2, float p3) {
// 实际值y
float y = priceFish * p1 + priceChips * p2 + priceChup * p3;
// 根据上次的推测值t
float t = XpriceFish * p1 + XpriceChips * p2 + XpriceChup * p3;
//误差
float D_vaule = y-t;
// 误差推测修正
XpriceFish += p1 * (D_vaule / para_e);
XpriceChips += p2 * (D_vaule/ para_e);
XpriceChup += p3 * (D_vaule / para_e);
}
@Override
public String toString() {
String string1 = "实际价格\npriceFish:" + priceFish + "\npriceChips:"
+ priceChips + "\npriceChup:" + priceChup;
String string2 = "估计价格\nXpriceFish:" + XpriceFish + "\nXpriceChips:"
+ XpriceChips + "\nXpriceChup:" + XpriceChup;
return string1.toString()+"\n"+string2.toString();
}
}
BP神经计算算法demo(java)
需积分: 10 100 浏览量
2014-02-18
17:09:31
上传
评论
收藏 4KB RAR 举报
huowen1990
- 粉丝: 1
- 资源: 6