24小时热门版块排行榜    

查看: 540  |  回复: 0
当前主题已经存档。

zhanglei02

木虫 (小有名气)

[交流] 【软件学习】最小二乘法源程序(C++版本已搜无重复)

今天为了处理试验数据找了好久才找到,拿来和大家分享.还未调试.

源码如下:

//*****************************************************************//
//                  物理实验数据处理软件                      //
//*****************************************************************//
//--------------------------------------------------------------------
#include
#include
#include
//--------------------------------------------------------------------
using namespace std;
//--------------------------------------------------------------------
class Item
{
public:
    get_data();
    double dX;
    double dY;
};
//--------------------------------------------------------------------
class Experiment
{
public:
    Experiment();
    void calculator();
    void display();
    ~Experiment();
private:
    double A;                        
    Item *Result;
    int length;
};
//--------------------------------------------------------------------
Item :: get_data()
{
    cout << "Please enter the experiment data." << endl;
    cout << "Please enter the X:" << endl;
    cin >> dX;
    cout << "Please enter the Y." << endl;
    cin >> dY;
}
//--------------------------------------------------------------------
Experiment :: Experiment()
{
    cout << "请输入数据的组数,就是有多少组数据:" << endl;
    cin >> length;
    const int _number = length;
    Result = new Item[_number];
    //对子对象的赋值
    for(int counter = 0; counter < _number; ++counter)
    {
        Result[counter].get_data();
    }

}
//--------------------------------------------------------------------
//************以下是线性回归的模块*****************************//
void Experiment :: calculator()
{
    const int _n = length;
    double *X_1 = new double[_n];                     
    double *Y_1 = new double[_n];               
    {
        T_1[counter_1] = Result[counter_1].dT;
        R_1[counter_1] = Result[counter_1].dR;
    }                           
               
    //以下是线性回归的实现
         double middle_1 = 0;
    double middle_2 = 0;
    double middle_3 = 0;
    double middle_5 = 0;
    double number = double(_n);
    for(int counter_2 = 0; counter_2 < number; ++counter_2)        
    {
    middle_1 += (X_1[counter_2] / number);
    middle_2 += (Y_1[counter_2] / number);
    middle_3 += (X_1[counter_2] * Y_1[counter_2]) / number;
    middle_5 += (X_1[counter_2] * X_1[counter_2]) / number;
    }

    double middle_4 = (middle_1 * middle_1);
    double final_one = ((middle_1 * middle_2 - middle_3)
                             / (middle_4 - middle_5));
    A = final_one;                        //A表示斜率

         delete [] X_1;
    delete [] Y_1;
    cout << "Calculator had been called." << endl;
}
//--------------------------------------------------------------------
void Experiment :: display()
{
    cout << "The A which is resolved by this Experiment is :" << endl;
    cout << "-----------------" <     cout << "-------" << setw(6) << A << "------" <     cout << "-----------------" < }
//--------------------------------------------------------------------
Experiment ::~Experiment()
{
    delete Result;
}
//--------------------------------------------------------------------
int main()
{
    Experiment Careful;
    Careful.calculator();
    Careful.display();
    return 0;
}
//--------------------------------------------------------------------


转至编程爱好者网站   http://www.programfan.com/
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zhanglei02 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 面上提前没消息,有中的吗 +10 archvillain 2026-08-02 12/600 2026-08-02 18:46 by hitlend
[考研] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 AS6fX1tr1on4 2026-08-02 8/400 2026-08-02 18:44 by ca3DVAx4OB19
[博后之家] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 AS6fX1tr1on4 2026-08-02 8/400 2026-08-02 18:44 by ca3DVAx4OB19
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 AS6fX1tr1on4 2026-08-02 6/300 2026-08-02 18:34 by ca3DVAx4OB19
[考博] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 AS6fX1tr1on4 2026-08-02 9/450 2026-08-02 18:23 by ca3DVAx4OB19
[论文投稿] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 AS6fX1tr1on4 2026-08-02 13/650 2026-08-02 18:14 by ca3DVAx4OB19
[硕博家园] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 AS6fX1tr1on4 2026-08-02 12/600 2026-08-02 18:14 by ca3DVAx4OB19
[博后之家] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +4 cBGhfJFuNMca 2026-08-02 16/800 2026-08-02 18:11 by ca3DVAx4OB19
[找工作] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +4 cBGhfJFuNMca 2026-08-02 20/1000 2026-08-02 18:04 by ca3DVAx4OB19
[考博] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +4 cBGhfJFuNMca 2026-08-02 20/1000 2026-08-02 18:03 by ca3DVAx4OB19
[公派出国] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 cBGhfJFuNMca 2026-08-02 9/450 2026-08-02 16:32 by jHcrHMhbKCFV
[公派出国] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 cBGhfJFuNMca 2026-08-02 15/750 2026-08-02 16:23 by jHcrHMhbKCFV
[基金申请] 面上再次挂了,太难了,躺也躺不了,倦也卷不过,小学校之殇! +18 低垂的野花 2026-07-31 24/1200 2026-08-02 16:03 by swallowwh
[基金申请] 2026年国自然面上资助率 +15 布布和一二 2026-07-30 21/1050 2026-08-02 10:56 by iaeyuan
[考博] 2027年申博 50+3 射雕英雄胜 2026-07-30 3/150 2026-08-02 09:36 by lfy8008
[有机交流] 一个有机合成实验室都需要哪些设备? 50+3 kf2781974 2026-07-31 7/350 2026-08-02 07:59 by 88817753
[基金申请] 微信指数没变化,科研之友没阅读 +14 wangze12014 2026-07-28 18/900 2026-07-31 18:35 by lzchaihuo
[基金申请] 你们的时间戳变了吗 +3 archvillain 2026-07-30 4/200 2026-07-30 18:53 by levinzhwen
[有机交流] 产物和副产物价值比较 30+4 小汤02 2026-07-27 5/250 2026-07-30 12:44 by czyzsu
[基金申请] 同事接到电话了,我却没有 +4 1234567wang 2026-07-27 4/200 2026-07-28 10:11 by GOODLUCKER
信息提示
请填处理意见