最近在做一个算法,对数据进行状态估计,历史数据存在表中,以每5分钟取一次,我要做的工作的就是对每个时间点的数据进行估计,在纸上已经测试成功,需要用程序写出来,但是遇到了一个问题,就是如何在java中写一个等式方程。
举个例子,我取出的某个时间点的一组数据如下:
b1=22.0, b2=22.0, b3=33.0 , b4=34.0, b5= 35.0,b6=44.0, s1=11.0 ,s2=12.0 ,s3=13.0 ,s4=14.0
估计目标函数
S = (a-b1)^2+(b-b2)^2+(c-b3)^2+(d-b4)^2+(e-b5)^2+(f-b6)^2+(g-s1)^2+(h-s2)^2+(j-s3)^2+(k-s4)^2
其中 a,b,c,d,e,f,g,h,j,k是方程中的变量,S 相当于f(x)也是一个变量
但是,java中变量是需要赋初值的,因此我这么写的话 上述的变量必须初始化为0,我现在用的方法是直接写成String类型了,但是后面的操作就相当麻烦,因此希望能够求到一个简便的方法
举个例子,我取出的某个时间点的一组数据如下:
b1=22.0, b2=22.0, b3=33.0 , b4=34.0, b5= 35.0,b6=44.0, s1=11.0 ,s2=12.0 ,s3=13.0 ,s4=14.0
估计目标函数
S = (a-b1)^2+(b-b2)^2+(c-b3)^2+(d-b4)^2+(e-b5)^2+(f-b6)^2+(g-s1)^2+(h-s2)^2+(j-s3)^2+(k-s4)^2
其中 a,b,c,d,e,f,g,h,j,k是方程中的变量,S 相当于f(x)也是一个变量
但是,java中变量是需要赋初值的,因此我这么写的话 上述的变量必须初始化为0,我现在用的方法是直接写成String类型了,但是后面的操作就相当麻烦,因此希望能够求到一个简便的方法
建议你这样写
public void sum(int a,int b,int c,int d,int e,int f,int g,int h,int j,int k){
Integer s=(a-b1)^2+(b-b2)^2+(c-b3)^2+(d-b4)^2+(e-b5)^2+(f-b6)^2+(g-s1)^2+(h-s2)^2+(j-s3)^2+(k-s4)^2 ;
}