Hi Robert,
thanks for the reply. In my previous post i messed up the variables, sorry for that.
I try to explain a little bit better what I'm trying to do. I wrote a static code for test and it works.
- Code: Select all
var S = new Array(1,0,0,0,0);
var state = forms.z_all_objects.obj_state_uncertain
var SR = new Array(1,0,0,0,0);
var R = new Array(1,0,0,0,0);
//transition matrix
var P1= new Array(0.998,0.001,0.0005,0.0005,0.00);
var P2= new Array(0.00,0.995,0.003,0.001,0.001);
var P3= new Array(0.00,0.00,0.995,0.0025,0.0025);
var P4= new Array(0.00,0.00,0.00,0.99,0.01);
var P5= new Array(0.00,0.00,0.00,0.00,1.00);
var j = 0
var noyears =5
for (var i=1;i<=noyears;i++)
{
R[0] = S[0]*P1[0]+S[1]*P2[0]+S[2]*P3[0]+S[3]*P4[0]+S[4]*P5[0];
R[1] = S[0]*P1[1]+S[1]*P2[1]+S[2]*P3[1]+S[3]*P4[1]+S[4]*P5[1];
R[2] = S[0]*P1[2]+S[1]*P2[2]+S[2]*P3[2]+S[3]*P4[2]+S[4]*P5[2];
R[3] = S[0]*P1[3]+S[1]*P2[3]+S[2]*P3[3]+S[3]*P4[3]+S[4]*P5[3];
R[4] = S[0]*P1[4]+S[1]*P2[4]+S[2]*P3[4]+S[3]*P4[4]+S[4]*P5[4];
S=R........
In the real code S is a text field from table Objects containing eg.: 0.4044216661597251,0.0659004623761775,0.1807015511863892,0.34897632027770825;
P is a dataset from table Probabilities with a number of records, in this case :
[0.998, 0.001, 5.0E-4, 5.0E-4, 0.0]
[0.0, 0.995, 0.003, 0.001, 0.001]
[0.0, 0.0, 0.995, 0.0025, 0.0025]
[0.0, 0.0, 0.0, 0.0, 1.0
What I need to do is multiply the S with the P array, see the R array;
In the real code I wrote I get the array P[0], P[1] etc. but what I need is P1 = P[0], P2=P[1] etc.
- Code: Select all
for(var r = 1; r<=rMax-1; r++)
{
var P =datasetarrayP.getRowAsArray(r);
P=P.filter(function(item){return item != null});
}
I hoop I made myself a little bit clearer now.
Thanks
Irene