Hey,
I think I'm almost set up and I'm positive about my jacobian, but I can't
solve two - rather simple? - problems on my own.
double[] prescribedValues = new double[observedValues.length];
> for (int i = 0; i < prescribedValues.length; i++) {
> prescribedValues[i] = observedValues[i];
> }
>
I don't know if that makes sense. All I do here is to set the target on my
observations. Because I can't think of another way to get observed "F"
values, but I think that's rather correct.
However:
> RealVector startVector = new ArrayRealVector(new double[] { 1.0, 0.0 });
> startVector.append(new ArrayRealVector(new double[] { 1.0, 0.0 }));
> startVector.append(new ArrayRealVector(new double[] { 1.0, 0.0 }));
> LeastSquaresProblem problem = new LeastSquaresBuilder().start(startVector
> ).model(distanceToCurrentF)
> .target(prescribedValues).lazyEvaluation(false
> ).maxEvaluations(1000).maxIterations(100).build();
this won't work. What I want to do is to set three points each for alpha,
beta and gamma that contain the possible values (0 <= alpha, beta, gamma <=
1). Apparently equal entries are merged to one? Anyways, I also doubt I can
access my parameters by using:
Vector3D approx = new Vector3D(params.getEntry(0), params.getEntry(1),
> params.getEntry(2));
[...]
helper.calculateSmoothedObservation(i, approx.getX(), approx.getY(), approx
> .getZ());
at the very beginning of my jacobian function.
calculatedSmoothedObservation(int index, double alpha, double beta, double
gamma) should always update the S, b and I parameters by using the alpha,
beta and gamma values of the optimization. I think I'm not on the right
track here.
I'm positive that we (okay, you did more than I did here) can solve that
too :P
Greetings,
Thom