commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Thom Brown <>
Subject Re: [math] Usage of Marquardt Optimizer for an Equation
Date Sat, 12 Sep 2015 11:12:36 GMT

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.


> 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


  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message