00001 #include <iostream> 00002 #include "SurfaceWaveObjective.h" 00003 #include "SurfaceWaveModel.h" 00004 #include "SurfaceWaveData.h" 00005 #include <string> 00006 00007 using namespace std; 00008 int main() 00009 { 00010 string datafilename, modelfilename, backgroundname; 00011 cout << "Name of Datafile: "; 00012 cin >> datafilename; 00013 cout << "Name of Modelfile:"; 00014 cin >> modelfilename; 00015 cout << "Name of Backgroundmodel: "; 00016 cin >> backgroundname; 00017 00018 SurfaceWaveData Data; 00019 Data.ReadSurf96(datafilename); 00020 SurfaceWaveModel Model; 00021 00022 SurfaceWaveObjective SeisObjective(Data); 00023 00024 SeisObjective.SetFitExponent(2); 00025 SeisObjective.SetPoisson(sqrt(3)); 00026 SeisObjective.SetErrorLevel(0.02); 00027 const unsigned int nlayers = Model.GetPvVelocities().size(); 00028 const unsigned int nparams = nlayers * 2; 00029 ttranscribed member(nparams); 00030 for (unsigned i = 0; i < nlayers; ++i) 00031 { 00032 member(i) = Model.GetThicknesses().at(i); 00033 member(i+nlayers) = Model.GetPvVelocities().at(i); 00034 } 00035 cout << "Misfit: " << SeisObjective.CalcPerformance(member) << endl; 00036 }
1.5.5