91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

基于GM(1,1)模型的灰色算法改進,帶殘差修正的灰色算法java實現

資源截圖

代碼片段和文件信息

import?java.lang.Math.*?;
import?java.util.*;

public?class?my_marcof?{
static?double?a=0b=0a_error=0b_error=0;
static?protected??void?Cal_param(int?numdouble?arr[]){
???double?[]arr1=new?double[num];//經過一次累加數組
???double?sum=0;
???for(int?i=0;i ???{
????sum+=arr[i];
????arr1[i]=sum;
????//System.out.println(“arr1[“+i+“]=“+arr1[i]+“;“);//同上
???}
???double?[]arr2=new?double?[num-1];//arr1的緊鄰均值數組
???for(int?i=0;i ???{
????arr2[i]=(double)(arr1[i]+arr1[i+1])/2;
????//System.out.println(“arr2[“+i+“]=“+arr2[i]+“;“);//同上
???}
???/*
????*?
????下面建立
????向量B和YN求解待估參數向量,
????即求參數ab
????
????*/
???/*
????下面建立向量B
????B是5行2列的矩陣,
????相當于一個二維數組。
????*/
???double[][]B=new?double[num-1][2];
???for(int?i=0;i ???{
????for(int?j=0;j<2;j++)
????{
?????if(j==1)
??????B[i][j]=1;
?????else
??????B[i][j]=-arr2[i];
?????//System.out.println(“B[“+i+“][“+j+“]=“+B[i][j]+“;“);
????}
????
???}
???/*
????下面建立向量YN*/
???double?[][]YN=new?double[num-1][1];
???for(int?i=0;i ???{
????for(int?j=0;j<1;j++)
????{
?????YN[i][j]=arr[i+1];
?????//System.out.println(“YN[“+i+“][“+j+“]=“+YN[i][j]+“;“);
????}
???}
???
???/*
?????B的轉置矩陣BT2行5列的矩陣
????*/
???double[][]BT=new?double[2][num-1];
???for(int?i=0;i<2;i++)
???{
????for(int?j=0;j ????{
?????BT[i][j]=B[j][i];
?????//System.out.println(“BT[“+i+“][“+j+“]=“+BT[i][j]+“;“);
????}
???}
???/*
?????將BT和B的乘積所得到的結果記為數組B2T則B2T是一個2*2的矩陣*/
???double?[][]B2T=new?double?[2][2];
???for(int?i=0;i<2;i++){//rows?of?BT

???{
????for(int?j=0;j<2;j++)//cloums?of?B
????{
????for(int?k=0;k ????{
?????B2T[i][j]=B2T[i][j]+BT[i][k]*B[k][j];
????}
?????//System.out.println(“B2T[“+i+“][“+j+“]=“+B2T[i][j]+“;“);
????}

???}
???????????}
???/*下面求B2T的逆矩陣,設為B_2T,怎么適用于一般的矩陣?*/
???double?[][]B_2T=new?double?[2][2];
???B_2T[0][0]=(1/(B2T[0][0]*B2T[1][1]-B2T[0][1]*B2T[1][0]))*B2T[1][1];
???B_2T[0][1]=(1/(B2T[0][0]*B2T[1][1]-B2T[0][1]*B2T[1][0]))*(-B2T[0][1]);
???B_2T[1][0]=(1/(B2T[0][0]*B2T[1][1]-B2T[0][1]*B2T[1][0]))*(-B2T[1][0]);
???B_2T[1][1]=(1/(B2T[0][0]*B2T[1][1]-B2T[0][1]*B2T[1][0]))*B2T[0][0];
???for(int?i=0;i<2;i++)
???{
????for(int?j=0;j<2;j++)
????{
?????//System.out.println(“B_2T[“+i+“][“+j+“]=“+B_2T[i][j]+“;“);
????}
???}
???/*根據以上所求的各已知量下面求待估參數的未知量a和b,待估向量矩陣等于B_2T*BT*YN?
????下面我們分別求這些矩陣的乘積,首先求B_2T*BT,令B_2T*BT的乘積為A矩陣,則A就是一個2*5的矩陣*/
???/*
????*?
????*?
????*?
????*?下面先求A矩陣*/
???double?[][]A=new?double[2][num-1];
???for(int?i=0;i<2;i++){//rows?of?B_2T
????{
?????for(int?j=0;j ?????{
?????for(int?k=0;k<2;k++)//cloums?of?B_2T=rows?of?BT
?????{
??????A[i][j]=A[i][j]+B_2T[i][k]*BT[k][j];
?????}
??????//System.out.println(“A[

評論

共有 條評論

相關資源