?? hartleyj.java
字號(hào):
public class HartleyJ
{
public static void main(String[] args)
{
double[][] d ={{-24,-12,1,10,12},{0,6,8,2,0}};
int n=5;
int k=3;
double[] u=new double[n+k+1];
HartleyJ H=new HartleyJ();
u=H.Hartleyknot(d,n,k);
double[] w=H.HartleyT(u,n,k);
for(int i=0;i<w.length;i++)
System.out.println(w[i]);
for(int i=0;i<n+k+1;i++)
System.out.println("U="+u[i]+" ");
}
public double sum(double[][] d,int n,int j)
{
double L=0;
double[] l=new double[n];
for(int i=n-1;i>j;i--)
{
l[i]=Math.sqrt((d[0][i]-d[0][i-1])*(d[0][i]-d[0][i-1])+(d[1][i]-d[1][i-1])*(d[1][i]-d[1][i-1]));
L=L+l[i];
}
return L;
}
public double Sum(double[][] d,int k,int n)
{
double Sum1=0;
for(int i=k+1;i<=n;i++)
{
Sum1=Sum1+sum(d,i,i-k-1);
}
return Sum1;
}
public double[] Hartleyknot(double[][] d,int n,int k)
{
double[] u=new double[n+k+1];
double U=0;
for(int j=0;j<=k;j++)
u[j]=0;
for(int i=k+1;i<=n-1;i++)
{
for(int j=k+1;j<=i;j++)
{
U=U+sum(d,j,j-k-1)/Sum(d,k,n);
}
u[i]=U;
}
for(int j=n;j<n+k+1;j++)
{
u[j]=1;
}
return u;
}
public double[] HartleyT(double[] u,int n,int k)
{
double[] w=new double[n-k-1+2];
for(int i=0;i<w.length;i++)
w[i]=u[i+k];
return w;
}
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -