From a975e8c41d7f559df456b743358f97be39a0efc8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=93=E3=81=AE=E4=B8=AD=E4=BA=8C=E7=97=85=E3=81=AB?= =?UTF-8?q?=E7=88=86=E7=84=94=E3=82=92=EF=BC=81?= Date: Wed, 3 Jan 2024 14:54:54 +0800 Subject: [PATCH] not working as expected --- .../Math/DataFittings/GaussNewtonSolver.vb | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Data_science/Mathematica/Math/DataFittings/GaussNewtonSolver.vb b/Data_science/Mathematica/Math/DataFittings/GaussNewtonSolver.vb index 7046c6bfb0..0550c9b17b 100644 --- a/Data_science/Mathematica/Math/DataFittings/GaussNewtonSolver.vb +++ b/Data_science/Mathematica/Math/DataFittings/GaussNewtonSolver.vb @@ -61,6 +61,7 @@ Public Class GaussNewtonSolver Dim temp_rmse As Double Dim success As Boolean = False Dim truncate As Double = 100 + Dim truncate2 As Double = 5 For i As Integer = 0 To MAX_ITERATIONS - 1 Dim lJ = CalcJacobian(data, beta) @@ -79,11 +80,11 @@ Public Class GaussNewtonSolver beta -= bigJ * rB End If - For offset As Integer = 0 To beta.ColumnDimension - 1 - If beta(offset, 0) > truncate Then - beta(offset, 0) = truncate - ElseIf beta(offset, 0) < -truncate Then - beta(offset, 0) = -truncate + For offset As Integer = 0 To beta.RowDimension - 1 + If beta(offset, 0) > truncate2 Then + beta(offset, 0) = truncate2 + ElseIf beta(offset, 0) < -truncate2 Then + beta(offset, 0) = eps End If Next