42 wiersze
812 B
C++
42 wiersze
812 B
C++
/**********************************************************
|
|
|
|
This software is part of J.-S. Caux's C++ library.
|
|
|
|
Copyright (c) 2007.
|
|
|
|
-----------------------------------------------------------
|
|
|
|
File: mrqmin.cc
|
|
|
|
Purpose: Nonlinear fitting
|
|
|
|
Last modified: 14/08/07
|
|
|
|
***********************************************************/
|
|
|
|
#include "JSC.h"
|
|
|
|
using namespace std;
|
|
|
|
namespace JSC {
|
|
|
|
void covsrt (SQMat_DP& covar, Vect<bool>& ia, const int mfit)
|
|
{
|
|
int i, j, k;
|
|
|
|
int ma = ia.size();
|
|
|
|
for (i = mfit; i < ma; i++)
|
|
for (j = 0; j < i+1; j++) covar[i][j] = covar[j][i] = 0.0;
|
|
k = mfit - 1;
|
|
for (j = ma - 1; j >= 0; j--) {
|
|
if (ia[j]) {
|
|
for (i = 0; i < ma; i++) SWAP(covar[i][k], covar[i][j]);
|
|
for (i = 0; i < ma; i++) SWAP(covar[k][i], covar[j][i]);
|
|
k--;
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|