xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 11KB
    文件類(lèi)型: .cpp
    金幣: 1
    下載: 1 次
    發(fā)布日期: 2021-06-08
  • 語(yǔ)言: C/C++
  • 標(biāo)簽: c,擬合??

資源簡(jiǎn)介

用C語(yǔ)言實(shí)現(xiàn)多項(xiàng)式的你和,其中采用最小二乘法,數(shù)據(jù)精度在e-13數(shù)量級(jí)。

資源截圖

代碼片段和文件信息

//?最小二乘法擬合.cpp?:?Defines?the?entry?point?for?the?console?application.
//
#include?
#include?“stdlib.h“
#include?“math.h“
//
#define?ParaBuffer(BufferRowCol)?(*(Buffer?+?(Row)?*?(SizeSrc?+?1)?+?(Col)))
//
/***********************************************************************************
***********************************************************************************/

/***********************************************************************************
從txt文件里讀取double型的X,Y數(shù)據(jù)
txt文件里的存儲(chǔ)格式為
X1??Y1
X2??Y2
X3??Y3
X4??Y4
X5??Y5
X6??Y6
X7??Y7
X8??Y8
函數(shù)返回X,Y,以及數(shù)據(jù)的數(shù)目(以組為單位)
***********************************************************************************/
static?int?GetXY(const?char*?FileNamelong?double*?Xlong?double*?Y?int*?Amount)
{
????????FILE*?File?=?fopen(FileName?“r“);
????????if?(!File)
????????????????return?-1;
????????for?(*Amount?=?0;?!feof(File);?X++?Y++?(*Amount)++)
????????????????if?(2?!=?fscanf(File?(const?char*)“%lf?%lf“?X?Y))
????????????????????????break;
????????fclose(File);
????????return?0;
}
/***********************************************************************************
***********************************************************************************/
/***********************************************************************************
打印系數(shù)矩陣,只用于調(diào)試,不具備運(yùn)算功能
對(duì)于一個(gè)N階擬合,它的系數(shù)矩陣大小是(N?+?1)行(N?+?2)列
double*?Para:系數(shù)矩陣存儲(chǔ)地址
int?SizeSrc:系數(shù)矩陣大?。⊿izeSrc)行(SizeSrc?+?1)列
***********************************************************************************/
static?int?PrintPara(long?double*?Para?int?SizeSrc)
{
????????int?i?j;
????????for?(i?=?0;?i?????????{
????????????????for?(j?=?0;?j?<=?SizeSrc;?j++)
????????????????????????printf(“%.18lf?“?ParaBuffer(Para?i?j));
????????????????printf(“\r\n“);
????????}
????????printf(“\r\n“);
????????return?0;
}
/***********************************************************************************
***********************************************************************************/
/***********************************************************************************
系數(shù)矩陣的限幅處理,防止它溢出,目前這個(gè)函數(shù)很不完善,并不能很好地解決這個(gè)問(wèn)題
原理:矩陣解行列式,同一行乘以一個(gè)系數(shù),行列式的解不變
當(dāng)然,相對(duì)溢出問(wèn)題,還有一個(gè)精度問(wèn)題,也是同樣的思路,現(xiàn)在對(duì)于這兩塊的處理很不完善,有待優(yōu)化
以行為單位處理
***********************************************************************************/
static?int?ParalimitRow(long?double*?Para?int?SizeSrc?int?Row)
{
????????int?i;
????????long?double?Max?Min?Temp;
????????for?(Max?=?abs(ParaBuffer(Para?Row?0))?Min?=?Max?i?=?SizeSrc;?i;?i--)
????????{
????????????????Temp?=?abs(ParaBuffer(Para?Row?i));
????????????????if?(Max?????????????????????????Max?=?Temp;
????????????????if?(Min?>?Temp)
????????????????????????Min?=?Temp;
????????}
????????Max?=?(Max?+?Min)?*?0.000005;
????????for?(i?=?SizeSrc;?i?>=?0;?i--)
????????????????ParaBuffer(Para?Row?i)?/=?Max;
????????return?0;
}
/**********************************************************************

評(píng)論

共有 條評(píng)論

相關(guān)資源