亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? interpolation.java

?? 實現用于工程計算的的數學方法
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
	public static double getValueHermite(int n, double x0, double xStep, double[] y, double[] dy, double t)
	{ 
		int i,j;
	    double z,s,p,q;
	    
		// 初值
		z=0.0;
	    
		// 循環插值
		for (i=1;i<=n;i++)
	    { 
			s=1.0; 
			q=x0+(i-1)*xStep;
	        
			for (j=1;j<=n;j++)
	        { 
				p=x0+(j-1)*xStep;
	            if (j!=i) 
					s=s*(t-p)/(q-p);
	        }
	        
			s=s*s;
	        p=0.0;
	        
			for (j=1;j<=n;j++)
	        {
				if (j!=i) 
					p=p+1.0/(q-(x0+(j-1)*xStep));
			}

	        q=y[i-1]+(t-q)*(dy[i-1]-2.0*y[i-1]*p);
	        z=z+q*s;
	    }
	    
		return(z);
	}

	/**
	 * 埃特金不等距逐步插值
	 * 
	 * @param n - 結點的個數
	 * @param x - 一維數組,長度為n,存放給定的n個結點的值x(i)
	 * @param y - 一維數組,長度為n,存放給定的n個結點的函數值y(i),
	 *            y(i) = f(x(i)), i=0,1,...,n-1
	 * @param t - 存放指定的插值點的值
	 * @param eps - 控制精度參數
	 * @return double 型,指定的查指點t的函數近似值f(t)
	 */
	public static double getValueAitken(int n, double[] x, double[] y, double t, double eps)
	{ 
		int i,j,k,m,l=0;
	    double z;
	    double[] xx = new double[10];
	    double[] yy = new double[10];
	    
		// 初值
		z=0.0;
	    
		// 特例處理
		if (n<1) 
			return(z);
	    if (n==1) 
		{ 
			z=y[0]; 
			return(z);
		}
	    
		// 開始插值
		m=10;
	    if (m>n) 
			m=n;
	    
		if (t<=x[0]) 
			k=1;
	    else if (t>=x[n-1]) 
			k=n;
	    else
	    { 
			k=1; 
			j=n;
	        
			while ((k-j!=1)&&(k-j!=-1))
	        { 
				l=(k+j)/2;
	            if (t<x[l-1]) 
					j=l;
	            else 
					k=l;
	        }
	        
			if (Math.abs(t-x[l-1])>Math.abs(t-x[j-1])) 
				k=j;
	    }
	    
		j=1; 
		l=0;
	    
		for (i=1;i<=m;i++)
	    { 
			k=k+j*l;
	        if ((k<1)||(k>n))
	        { 
				l=l+1; 
				j=-j; 
				k=k+j*l;
			}
	        
			xx[i-1]=x[k-1]; 
			yy[i-1]=y[k-1];
	        l=l+1; 
			j=-j;
	    }
	    
		i=0;
	    
		do
	    { 
			i=i+1; 
			z=yy[i];
	        
			for (j=0;j<=i-1;j++)
				z=yy[j]+(t-xx[j])*(yy[j]-z)/(xx[j]-xx[i]);
	        
			yy[i]=z;
	    } while ((i!=m-1)&&(Math.abs(yy[i]-yy[i-1])>eps));
	    
		return(z);
	}

	/**
	 * 埃特金等距逐步插值
	 * 
	 * @param n - 結點的個數
	 * @param x0 - 存放等距n個結點中第一個結點的值
	 * @param xStep - 等距結點的步長
	 * @param y - 一維數組,長度為n,存放給定的n個結點的函數值y(i),
	 *            y(i) = f(x(i)), i=0,1,...,n-1
	 * @param t - 存放指定的插值點的值
	 * @param eps - 控制精度參數
	 * @return double 型,指定的查指點t的函數近似值f(t)
	 */
	public static double getValueAitken(int n, double x0, double xStep, double[] y, double t, double eps)
	{ 
		int i,j,k,m,l=0;
	    double z;
	    double[] xx = new double[10];
	    double[] yy = new double[10];
	    
		// 初值
		z=0.0;
	    
		// 特例處理
		if (n<1) 
			return(z);
	    if (n==1) 
		{ 
			z=y[0]; 
			return(z);
		}
	    
		// 開始插值
		m=10;
	    if (m>n) 
			m=n;
	    
		if (t<=x0) 
			k=1;
	    else if (t>=x0+(n-1)*xStep) 
			k=n;
	    else
	    { 
			k=1; 
			j=n;
	        
			while ((k-j!=1)&&(k-j!=-1))
	        { 
				l=(k+j)/2;
	            
				if (t<x0+(l-1)*xStep) 
					j=l;
	            else 
					k=l;
	        }
	        
			if (Math.abs(t-(x0+(l-1)*xStep))>Math.abs(t-(x0+(j-1)*xStep))) 
				k=j;
	    }
	    
		j=1; 
		l=0;
	    for (i=1;i<=m;i++)
	    { 
			k=k+j*l;
	        if ((k<1)||(k>n))
	        { 
				l=l+1; 
				j=-j; 
				k=k+j*l;
			}
	        
			xx[i-1]=x0+(k-1)*xStep; 
			yy[i-1]=y[k-1];
	        l=l+1; 
			j=-j;
	    }
	    
		i=0;
	    do
	    { 
			i=i+1; 
			z=yy[i];
	        
			for (j=0;j<=i-1;j++)
				z=yy[j]+(t-xx[j])*(yy[j]-z)/(xx[j]-xx[i]);
	        
			yy[i]=z;
	    } while ((i!=m-1)&&(Math.abs(yy[i]-yy[i-1])>eps));
	    
		return(z);
	}

	/**
	 * 光滑不等距插值
	 * 
	 * @param n - 結點的個數
	 * @param x - 一維數組,長度為n,存放給定的n個結點的值x(i)
	 * @param y - 一維數組,長度為n,存放給定的n個結點的函數值y(i),
	 *            y(i) = f(x(i)), i=0,1,...,n-1
	 * @param t - 存放指定的插值點的值
	 * @param s - 一維數組,長度為5,其中s(0),s(1),s(2),s(3)返回三次多項式的系數,
	 *  		  s(4)返回指定插值點t處的函數近似值f(t)(k<0時)或任意值(k>=0時)
	 * @param k - 控制參數,若k>=0,則只計算第k個子區間[x(k), x(k+1)]上的三次多項式的系數
	 * @return double 型,指定的查指點t的函數近似值f(t)
	 */
	public static double getValueAkima(int n, double[] x, double[] y, double t, double[] s, int k)
	{ 
		int kk,m,l;
	    double p,q;
	    double[] u = new double[5];
	    
		// 初值
		s[4]=0.0; 
		s[0]=0.0; 
		s[1]=0.0; 
		s[2]=0.0; 
		s[3]=0.0;
	    
		// 特例處理
		if (n<1) 
			return s[4];
	    if (n==1) 
		{ 
			s[0]=y[0]; 
			s[4]=y[0]; 
			return s[4];
		}
	    if (n==2)
	    { 
			s[0]=y[0]; 
			s[1]=(y[1]-y[0])/(x[1]-x[0]);
	        if (k<0)
				s[4]=(y[0]*(t-x[1])-y[1]*(t-x[0]))/(x[0]-x[1]);
	        return s[4];
	    }
	    
		// 插值
		if (k<0)
	    { 
			if (t<=x[1]) 
				kk=0;
	        else if (t>=x[n-1]) 
				kk=n-2;
	        else
	        { 
				kk=1; 
				m=n;
	            while (((kk-m)!=1)&&((kk-m)!=-1))
	            { 
					l=(kk+m)/2;
	                if (t<x[l-1]) 
						m=l;
	                else 
						kk=l;
	            }
	            
				kk=kk-1;
	        }
	    }
	    else 
			kk=k;
	    
		if (kk>=n-1) 
			kk=n-2;
	    
		u[2]=(y[kk+1]-y[kk])/(x[kk+1]-x[kk]);
	    if (n==3)
	    { 
			if (kk==0)
	        { 
				u[3]=(y[2]-y[1])/(x[2]-x[1]);
	            u[4]=2.0*u[3]-u[2];
	            u[1]=2.0*u[2]-u[3];
	            u[0]=2.0*u[1]-u[2];
	        }
	        else
	        { 
				u[1]=(y[1]-y[0])/(x[1]-x[0]);
	            u[0]=2.0*u[1]-u[2];
	            u[3]=2.0*u[2]-u[1];
	            u[4]=2.0*u[3]-u[2];
	        }
	    }
	    else
	    { 
			if (kk<=1)
	        { 
				u[3]=(y[kk+2]-y[kk+1])/(x[kk+2]-x[kk+1]);
	            if (kk==1)
	            { 
					u[1]=(y[1]-y[0])/(x[1]-x[0]);
	                u[0]=2.0*u[1]-u[2];
	                
					if (n==4) 
						u[4]=2.0*u[3]-u[2];
	                else 
						u[4]=(y[4]-y[3])/(x[4]-x[3]);
	            }
	            else
	            { 
					u[1]=2.0*u[2]-u[3];
	                u[0]=2.0*u[1]-u[2];
	                u[4]=(y[3]-y[2])/(x[3]-x[2]);
	            }
	        }
	        else if (kk>=(n-3))
	        { 
				u[1]=(y[kk]-y[kk-1])/(x[kk]-x[kk-1]);
	            if (kk==(n-3))
	            { 
					u[3]=(y[n-1]-y[n-2])/(x[n-1]-x[n-2]);
	                u[4]=2.0*u[3]-u[2];
	                if (n==4) 
						u[0]=2.0*u[1]-u[2];
	                else 
						u[0]=(y[kk-1]-y[kk-2])/(x[kk-1]-x[kk-2]);
	            }
	            else
	            { 
					u[3]=2.0*u[2]-u[1];
	                u[4]=2.0*u[3]-u[2];
	                u[0]=(y[kk-1]-y[kk-2])/(x[kk-1]-x[kk-2]);
	            }
	        }
	        else
	        { 
				u[1]=(y[kk]-y[kk-1])/(x[kk]-x[kk-1]);
	            u[0]=(y[kk-1]-y[kk-2])/(x[kk-1]-x[kk-2]);
	            u[3]=(y[kk+2]-y[kk+1])/(x[kk+2]-x[kk+1]);
	            u[4]=(y[kk+3]-y[kk+2])/(x[kk+3]-x[kk+2]);
	        }
	    }
	    
		s[0]=Math.abs(u[3]-u[2]);
	    s[1]=Math.abs(u[0]-u[1]);
	    if ((s[0]+1.0==1.0)&&(s[1]+1.0==1.0))
	         p=(u[1]+u[2])/2.0;
	    else 
			p=(s[0]*u[1]+s[1]*u[2])/(s[0]+s[1]);
	    
		s[0]=Math.abs(u[3]-u[4]);
	    s[1]=Math.abs(u[2]-u[1]);
	    if ((s[0]+1.0==1.0)&&(s[1]+1.0==1.0))
	        q=(u[2]+u[3])/2.0;
	    else 
			q=(s[0]*u[2]+s[1]*u[3])/(s[0]+s[1]);
	    
		s[0]=y[kk];
	    s[1]=p;
	    s[3]=x[kk+1]-x[kk];
	    s[2]=(3.0*u[2]-2.0*p-q)/s[3];
	    s[3]=(q+p-2.0*u[2])/(s[3]*s[3]);
	    if (k<0)
	    { 
			p=t-x[kk];
	        s[4]=s[0]+s[1]*p+s[2]*p*p+s[3]*p*p*p;
	    }
	    
		return s[4];
	}

	/**
	 * 光滑等距插值
	 * 
	 * @param n - 結點的個數
	 * @param x0 - 存放等距n個結點中第一個結點的值
	 * @param xStep - 等距結點的步長
	 * @param y - 一維數組,長度為n,存放給定的n個結點的函數值y(i),
	 *            y(i) = f(x(i)), i=0,1,...,n-1
	 * @param t - 存放指定的插值點的值
	 * @param s - 一維數組,長度為5,其中s(0),s(1),s(2),s(3)返回三次多項式的系數,
	 *  		  s(4)返回指定插值點t處的函數近似值f(t)(k<0時)或任意值(k>=0時)
	 * @param k - 控制參數,若k>=0,則只計算第k個子區間[x(k), x(k+1)]上的三次多項式的系數
	 * @return double 型,指定的查指點t的函數近似值f(t)
	 */
	public static double getValueAkima(int n, double x0, double xStep, double[] y, double t, double[] s, int k)
	{ 
		int kk,m,l;
	    double[] u = new double[5];
	    double p,q;
	    
		// 初值
		s[4]=0.0; 
		s[0]=0.0; 
		s[1]=0.0; 
		s[2]=0.0; 
		s[3]=0.0;
	    
		// 特例處理
		if (n<1) 
			return s[4];
	    if (n==1) 
		{ 
			s[0]=y[0]; 
			s[4]=y[0]; 
			return s[4];
		}
	    if (n==2)
	    { 
			s[0]=y[0]; 
			s[1]=(y[1]-y[0])/xStep;
	        if (k<0)
				s[4]=(y[1]*(t-x0)-y[0]*(t-x0-xStep))/xStep;
	        return s[4];
	    }
	    
		// 插值
		if (k<0)
	    { 
			if (t<=x0+xStep) 
				kk=0;
	        else if (t>=x0+(n-1)*xStep) 
				kk=n-2;
	        else
	        { 
				kk=1; 
				m=n;
	            while (((kk-m)!=1)&&((kk-m)!=-1))
	            { 
					l=(kk+m)/2;
	                if (t<x0+(l-1)*xStep) 
						m=l;
	                else 
						kk=l;
	            }
	            
				kk=kk-1;
	        }
	    }
	    else 
			kk=k;
	    
		if (kk>=n-1) 
			kk=n-2;
	    
		u[2]=(y[kk+1]-y[kk])/xStep;
	    if (n==3)
	    { 
			if (kk==0)
	        { 
				u[3]=(y[2]-y[1])/xStep;
	            u[4]=2.0*u[3]-u[2];
	            u[1]=2.0*u[2]-u[3];
	            u[0]=2.0*u[1]-u[2];
	        }
	        else
	        { 
				u[1]=(y[1]-y[0])/xStep;
	            u[0]=2.0*u[1]-u[2];
	            u[3]=2.0*u[2]-u[1];
	            u[4]=2.0*u[3]-u[2];
	        }
	    }
	    else
	    { 
			if (kk<=1)
	        { 
				u[3]=(y[kk+2]-y[kk+1])/xStep;
	            if (kk==1)
	            { 
					u[1]=(y[1]-y[0])/xStep;
	                u[0]=2.0*u[1]-u[2];
	                if (n==4) 
						u[4]=2.0*u[3]-u[2];
	                else 
						u[4]=(y[4]-y[3])/xStep;
	            }
	            else
	            { 
					u[1]=2.0*u[2]-u[3];
	                u[0]=2.0*u[1]-u[2];
	                u[4]=(y[3]-y[2])/xStep;
	            }
	        }
	        else if (kk>=(n-3))
	        { 
				u[1]=(y[kk]-y[kk-1])/xStep;
	            if (kk==(n-3))
	            { 
					u[3]=(y[n-1]-y[n-2])/xStep;
	                u[4]=2.0*u[3]-u[2];
	                if (n==4) 
						u[0]=2.0*u[1]-u[2];
	                else 
						u[0]=(y[kk-1]-y[kk-2])/xStep;
	            }
	            else
	            { 
					u[3]=2.0*u[2]-u[1];
	                u[4]=2.0*u[3]-u[2];
	                u[0]=(y[kk-1]-y[kk-2])/xStep;
	            }
	        }
	        else
	        { 
				u[1]=(y[kk]-y[kk-1])/xStep;
	            u[0]=(y[kk-1]-y[kk-2])/xStep;
	            u[3]=(y[kk+2]-y[kk+1])/xStep;
	            u[4]=(y[kk+3]-y[kk+2])/xStep;
	        }
	    }
	    
		s[0]=Math.abs(u[3]-u[2]);
	    s[1]=Math.abs(u[0]-u[1]);
	    if ((s[0]+1.0==1.0)&&(s[1]+1.0==1.0))
			p=(u[1]+u[2])/2.0;
	    else 
			p=(s[0]*u[1]+s[1]*u[2])/(s[0]+s[1]);
	    
		s[0]=Math.abs(u[3]-u[4]);
	    s[1]=Math.abs(u[2]-u[1]);
	    if ((s[0]+1.0==1.0)&&(s[1]+1.0==1.0))
			q=(u[2]+u[3])/2.0;
	    else 
			q=(s[0]*u[2]+s[1]*u[3])/(s[0]+s[1]);
	    
		s[0]=y[kk];
	    s[1]=p;
	    s[3]=xStep;
	    s[2]=(3.0*u[2]-2.0*p-q)/s[3];
	    s[3]=(q+p-2.0*u[2])/(s[3]*s[3]);
	    
		if (k<0)
	    { 
			p=t-(x0+kk*xStep);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品香蕉一区二区三区| 亚洲人精品午夜| 三级精品在线观看| 日韩三级中文字幕| 久久97超碰色| 久久精品亚洲精品国产欧美kt∨| 国产一区亚洲一区| 中文字幕字幕中文在线中不卡视频| 色综合久久六月婷婷中文字幕| 一区二区三区在线免费视频| 欧美日韩国产高清一区二区| 毛片不卡一区二区| 国产婷婷一区二区| 在线观看国产精品网站| 免费黄网站欧美| 国产人久久人人人人爽| 99久久99久久精品免费观看 | 香蕉av福利精品导航| 欧美一区二区国产| 国产成人啪午夜精品网站男同| 国产精品久久福利| 久久无码av三级| 9色porny自拍视频一区二区| 亚洲高清不卡在线观看| 欧美tk丨vk视频| 91理论电影在线观看| 日本在线不卡视频一二三区| 欧美激情一区二区三区蜜桃视频| 在线亚洲+欧美+日本专区| 激情伊人五月天久久综合| 国产精品萝li| 欧美高清视频www夜色资源网| 国产高清在线精品| 亚洲国产日日夜夜| 久久精品欧美日韩| 欧美性生活久久| 国产激情视频一区二区在线观看| 综合自拍亚洲综合图不卡区| 91精品国产入口在线| 成人福利视频网站| 日本 国产 欧美色综合| 亚洲女子a中天字幕| 久久久久久久久久久久久久久99| 91高清视频免费看| 国产精品中文字幕一区二区三区| 一区二区三区四区激情| 国产亚洲精品资源在线26u| 欧美精品黑人性xxxx| 99久久精品免费看国产| 久久精品国产在热久久| 亚洲国产精品一区二区www在线 | 日本大胆欧美人术艺术动态 | 91.麻豆视频| 色综合久久久久综合99| 国产成人在线免费观看| 日韩av一区二区三区四区| 亚洲欧美日韩国产中文在线| 国产午夜精品一区二区三区嫩草 | 欧美一区二区播放| 欧美亚洲动漫制服丝袜| 成人污污视频在线观看| 国产永久精品大片wwwapp | 蜜桃传媒麻豆第一区在线观看| 亚洲人妖av一区二区| 国产精品天干天干在观线| 精品电影一区二区三区| 91精品欧美福利在线观看 | 日韩欧美卡一卡二| 欧美日韩免费高清一区色橹橹| 成人精品在线视频观看| 国产一区二区看久久| 久久丁香综合五月国产三级网站| 日本不卡高清视频| 欧美aaaaaa午夜精品| 日韩福利电影在线| 日日摸夜夜添夜夜添亚洲女人| 一区二区欧美国产| 亚洲一区二区不卡免费| 亚洲一区二区三区自拍| 香蕉成人啪国产精品视频综合网 | 亚洲欧洲精品成人久久奇米网| 久久久www成人免费无遮挡大片 | 国产精品电影一区二区三区| 国产精品萝li| 亚洲视频一区在线观看| 亚洲精品成人a在线观看| 樱桃国产成人精品视频| 亚洲精品国产成人久久av盗摄| 亚洲精品综合在线| 视频一区二区中文字幕| 久久精品国产一区二区| 国产精品一级二级三级| jiyouzz国产精品久久| 一本在线高清不卡dvd| 欧美日韩国产影片| 日韩一区二区在线观看| 久久―日本道色综合久久| 国产欧美日本一区二区三区| 中文字幕亚洲一区二区av在线| 亚洲激情一二三区| 日本在线不卡一区| 丁香一区二区三区| 一本色道久久综合亚洲91| 欧美日韩中字一区| 精品福利av导航| 日韩理论片网站| 日本伊人色综合网| 国产.欧美.日韩| 欧美视频一区在线观看| 欧美成人精品3d动漫h| 国产精品美女久久久久久久久久久 | 国产亚洲成年网址在线观看| 亚洲欧美日韩成人高清在线一区| 亚洲a一区二区| 国产二区国产一区在线观看| 一本大道久久a久久综合婷婷| 欧美喷潮久久久xxxxx| 国产日韩欧美a| 亚洲1区2区3区视频| 精品一区在线看| 一本大道av一区二区在线播放| 91精品国产综合久久福利软件| 中文在线免费一区三区高中清不卡 | 欧美丝袜丝交足nylons| 久久女同性恋中文字幕| 亚洲国产一区二区三区青草影视| 久久国产精品一区二区| 色悠悠亚洲一区二区| 日韩视频在线一区二区| 亚洲色大成网站www久久九九| 麻豆国产精品视频| 日本高清不卡一区| 久久九九久精品国产免费直播| 亚洲国产成人tv| k8久久久一区二区三区| 久久综合久久99| 天堂影院一区二区| 99v久久综合狠狠综合久久| 欧美本精品男人aⅴ天堂| 亚洲欧美另类久久久精品| 国产在线视频一区二区三区| 欧美欧美午夜aⅴ在线观看| 中文字幕一区二区三区不卡 | 国产综合一区二区| 欧美久久一区二区| 亚洲欧美在线视频观看| 久草这里只有精品视频| 欧美日韩一区小说| 亚洲黄网站在线观看| k8久久久一区二区三区| 国产亚洲精品资源在线26u| 美女在线观看视频一区二区| 欧美三区免费完整视频在线观看| 国产精品久久久久久亚洲毛片 | 欧美韩国日本综合| 久久99精品国产.久久久久久| 欧美女孩性生活视频| 一区二区三区精品在线观看| 成人av资源在线| 欧美极品少妇xxxxⅹ高跟鞋| 精品一区二区三区日韩| 日韩三级免费观看| 免费看日韩精品| 日韩欧美中文字幕制服| 免费在线观看成人| 91精品国产免费| 美女视频网站久久| 91精品国产91久久久久久一区二区 | 欧美剧情片在线观看| 亚洲成国产人片在线观看| 欧美日韩国产美| 亚洲电影第三页| 欧美午夜影院一区| 洋洋成人永久网站入口| 91成人免费在线| 亚洲高清视频在线| 欧美精品vⅰdeose4hd| 丝瓜av网站精品一区二区| 337p亚洲精品色噜噜| 蜜臀av亚洲一区中文字幕| 欧美tickle裸体挠脚心vk| 国内精品国产成人国产三级粉色| 久久婷婷国产综合精品青草| 国产成人自拍在线| 最新久久zyz资源站| 91黄色免费版| 日本特黄久久久高潮| 精品入口麻豆88视频| 国产激情精品久久久第一区二区| 国产精品丝袜91| 91极品视觉盛宴| 蜜乳av一区二区| 国产夜色精品一区二区av| 91亚洲男人天堂| 日韩黄色在线观看| 久久久久久97三级| 91极品视觉盛宴| 国产综合色视频| 亚洲女人****多毛耸耸8| 欧美一区二区三区日韩视频|