freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

最小二乘法原理,vc實(shí)現(xiàn)及應(yīng)用畢業(yè)設(shè)計(jì)-資料下載頁(yè)

2025-01-16 17:36本頁(yè)面
  

【正文】 de include include include define W 1 //權(quán)函數(shù) define PRECISION //精度 ifdef _DEBUG undef THIS_FILE static char THIS_FILE[]=__FILE__。 define new DEBUG_NEW endif LeastSquare::LeastSquare() { } LeastSquare::~LeastSquare() { } float LeastSquare::pow_n(float a,int n) //a 的 n 次方 { int i。 if(n==0) return(1)。 float res=a。 for(i=1。in。i++) { res*=a。 } return(res)。 } void LeastSquare::mutiple(float **a,float **b,float **c) //矩陣 A矩陣 B=矩陣 C { float res=0。 int i,j,k。 for(i=0。iT+1。i++) for(j=0。jT+1。j++) 最小二乘法原理, VC++實(shí)現(xiàn)及應(yīng)用 28 { res=0。 for(k=0。kN。k++) { res+=a[i][k]*b[k][j]。 c[i][j]=res。 } } } void LeastSquare::matrix_trans(float **a,float **b) //矩陣 B=矩陣 A 的轉(zhuǎn)置 { int i,j。 for(i=0。iN。i++) { for(j=0。j T+1。j++) { b[j][i]=a[i][j]。 } } } void LeastSquare::init(float **x_y,float x[],float y[],int n) //n 組坐標(biāo)點(diǎn) 的數(shù)組 { int i。 for(i=0。in。i++){ x_y[i][0]=x[i]。 x_y[i][1]=y[i]。 } } void LeastSquare::get_A(float **matrix_A,float **x_y,int n) //得到矩陣 A { int i,j。 for(i=0。iN。i++) { for(j=0。jT+1。j++) { matrix_A[i][j]=W*pow_n(x_y[i][0],j)。 } } } void LeastSquare::print_array(float **arr,int n)//輸出矩陣 { 最小二乘法原理, VC++實(shí)現(xiàn)及應(yīng)用 29 int i,j。 for(i=0。in。i++) { for(j=0。jT+1。j++) { printf(%g ,arr[i][j])。 } printf( \n)。 } } void LeastSquare::pute(float **argu,int n,float root[]) //解方 程組 { int i,j。 float temp。 for(i=n1。i=0。i) { temp=argu[i][n]。 for(j=n1。j i。j) { temp=argu[i][j]*root[j]。 } root[i]=temp/argu[i][i]。 } } void LeastSquare::get_y(float **trans_A,float **x_y,float y[],int n) { int i,j。 float temp。 for(i=0。in。i++) { temp=0。 for(j=0。jN。j++) { temp+=trans_A[i][j]*x_y[j][1]。 } y[i]=temp。 } } void LeastSquare::cons_formula(float **coef_A,float y[],float **coef_form) { int i,j。 for(i=0。iT+1。i++) { for(j=0。jT+2。j++) 最小二乘法原理, VC++實(shí)現(xiàn)及應(yīng)用 30 { if(j==T+1) coef_form[i][j]=y[i]。 else coef_form[i][j]=coef_A[i][j]。 } } } void LeastSquare::print_root(float a[],int n) { int i,j。 printf(擬合曲線方程為 :\ny(x)=%g,a[0])。 for(i=1。in。i++) { printf( +%g,a[i])。 for(j=0。ji。j++) { printf(*X)。 } } printf(\n)。 } float LeastSquare::getXiShu(float x_point[],float y_point[]){ float xx = 。 //x 坐標(biāo)均值 float yy = 。 //y 坐標(biāo)均值 float xx1 = 。 float yy1 = 。 float xx2 = 。 float yy2 = 。 float xy1 = 。 float xy2 = 。 float res = 。 for(int i = 0。 i N。 i++){ xx1 += x_point[i]。 yy1 += y_point[i]。 } xx = xx1/N。 //均值 yy = yy1/N。 xx1= 。 yy1 = 。 for(i = 0。 i N。 i++){ xy1 += (x_point[i] xx)*(y_point[i] yy)。 最小二乘法原理, VC++實(shí)現(xiàn)及應(yīng)用 31 xx2 += (x_point[i] xx)*(x_point[i] xx)。 yy2 += (y_point[i] yy)*(y_point[i] yy)。 } //CString s。 //(_T(%f %f %f %f), xx1, yy1, xx2, yy2)。 //AfxMessageBox(s)。 xy2 = sqrt(xx2)*sqrt(yy2)。 res = xy1/xy2。 return res。 } void LeastSquare::process(float x_point[],float y_point[],float result[]) { float **x_y = NULL。 //創(chuàng)建指針,賦空值 float **matrix_A = NULL。 float **trans_A = NULL。 float **coef_A = NULL。 float **coef_formu = NULL。 float *y = NULL。 x_y = new float*[N]。 for(int i=0。 iN。i++){ x_y[i] = new float[2]。 } matrix_A = (float**)malloc(sizeof(float*)*N)。//行 for(i = 0。 i N。 i++){ matrix_A[i] = (float*)malloc(sizeof(float)*(T+1))。//列 } trans_A = (float**)malloc(sizeof(float*)*(T + 1))。//行 for(i = 0。 i T + 1。 i++){ trans_A[i] = (float*)malloc(sizeof(float)*N)。//列 } coef_A = (float**)malloc(sizeof(float*)*(T+1))。//行 for(i = 0。 i T + 1。 i++){ coef_A[i] = (float*)malloc(sizeof(float)*(T+1))。//列 } coef_formu = (float**)malloc(sizeof(float*)*(T+1))。//行 for(i = 0。 i T + 1。 i++){ coef_formu[i] = (float*)malloc(sizeof(float)*(T+2))。//列 } y = (float*)malloc(sizeof(float)*(T+1))。 最小二乘法原理, VC++實(shí)現(xiàn)及應(yīng)用 32 init(x_y, x_point, y_point, N)。 //初始化 get_A(matrix_A, x_y, N)。 matrix_trans(matrix_A, trans_A)。 mutiple(trans_A , matrix_A , coef_A)。 get_y(trans_A, x_y, y, T+1)。 cons_formula(coef_A, y, coef_formu)。 convert(coef_formu, T+1)。 pute(coef_formu, T+1, result)。 xishu = getXiShu(x_point, y_point)。 CString s。 if(T == 2){ (_T(a = %f b = %f c = %f r = %f), result[2], result[1], result[0], xishu)。 AfxMessageBox(s)。 }else if(T == 1){ (_T(a = %f b = %f r = %f), result[1], result[0], xishu)。 AfxMessageBox(s)。 }else{ AfxMessageBox(_T(錯(cuò)誤! T 為 1 或 2! ))。 } } void LeastSquare::setN(int n){ N = n。 } void LeastSquare::setT(int t){ T = t。 } 最小二乘法原理, VC++實(shí)現(xiàn)及應(yīng)用 33 界面化程序代碼: include include include include include include ifdef _DEBUG define new DEBUG_NEW undef THIS_FILE static char THIS_FILE[] = __FILE__。 endif //菜單欄中輸入?yún)?shù)選項(xiàng)的響應(yīng)函數(shù) void CCurveFittingView::OnInput() { // TODO: Add your mand handler code here CCurveFittingDoc *pDoc = GetDocument()。 //獲得文檔指針 CInputDlg inputDlg。 //對(duì)話框?qū)ο? if(()){ //如果點(diǎn)擊對(duì)話框確定按鈕 pDocT = 。 //獲得 T 值 pDoc()。 //設(shè)置 T 值 pDocN = 。 //獲得 N 值 pDoc()。 //設(shè)置 N 值 //將表示 X 坐標(biāo)和 Y 坐標(biāo)的字符串拆成 float 類型存到數(shù)組中 CString x。 CString y。 int ii = 0。 int jj = 0。 CString temp = 。
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1