Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Java SE 综合讨论区  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 求助,一个奇怪问题的诊断
wastelandxf





发贴: 1
积分: 0
于 2009-11-09 16:30 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
问题描述:LeastSquares类的init(),getMatrix(),getMatrix(int hostTypeId,String beginDate,String endDate,int ncount,int mcount)
方法分别是直接赋值来初始化,从文件初始化,从数据库来初始化aarray和barray
数组的方法,OLS()是计算最小二乘法线性拟合参数的方法,问题估计不是发生在这里,你可以先不管他。clearData()用于初始所有用到的数组的所有元素的归0

问题:当用getMatrix(int hostTypeId,String beginDate,String endDate,int ncount,int mcount)方法来初始化数组时,OLS()计算出来的结果不正确。
我还发现,用分别用1.getMatrix(int hostTypeId,String beginDate,String endDate,int ncount,int mcount),2.getMatrix(),3.init()方法初始化数组后,
即使这3方法初始化后aarray,barray的数据完全一样,但用第1种方法初始化,
OLS()计算出来的结果仍然与用其他两个方法初始化再用OLS()计算出来的结果不一样。
但是用init()初始化后,再用getMatrix(int hostTypeId,String beginDate,String endDate,int ncount,int mcount)初始化,OLS()计算出来的结果就是正确的
见如下代码:
以下3个main方法的代码片段:
(1).leastSquares.getMatrix();
    leastSquares.OLS();
(2).
   leastSquares.init();
    leastSquares.OLS();
(3).
    leastSquares.opConnect();
    leastSquares.getMatrix(4,"2008-07-01", "2009-10-01", 16, 3);//从数据库初始化X和y矩阵
    leastSquares.OLS();
(4).
    leastSquares.init();
    leastSquares.opConnect();
    leastSquares.getMatrix(4,"2008-07-01", "2009-10-01", 16, 3);//从数据库初始化X和y矩阵
    leastSquares.OLS();
(5).
    leastSquares.init();
    leastSquares.opConnect();
    leastSquares.clearData();//重置缓存数组
    leastSquares.getMatrix(4,"2008-07-01", "2009-10-01", 16, 3);//从数据库初始化X和y矩阵
    leastSquares.OLS();
其中,代码片段(3),和代码片段(5)计算出来的结果是错误的,请高手帮忙诊断和分析一下,不胜感激!
qq:254608920
LeastSquares因为太长,放在附件中
测试代码示例:
public class LeastSquaresTest
{
  public static void main(String[] args) throws IOException
  {
    LeastSquares leastSquares=new LeastSquares();
    LeastSquaresTest leastSquaresTest=new LeastSquaresTest();
    
    leastSquares.getMatrix();
    leastSquares.opConnect();
    leastSquares.clearData();//重置缓存数组
    leastSquares.getMatrix(4,"2008-07-01", "2009-10-01", 16, 3);//从数据库初始化X和y矩阵
    leastSquares.OLS();
   }
}

LeastSquares.java (21.84k)




话题树型展开
人气 标题 作者 字数 发贴时间
4781 求助,一个奇怪问题的诊断 wastelandxf 1830 2009-11-09 16:30

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2018 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号
客服电话 0592-8750026    客服信箱 714923@qq.com    客服QQ 714923