public void Adam2012Teste() { N = 70; double passo = 0.1; int npassos = Convert.ToInt32(2.0 / passo + 1); npassos = 5; kMax = 2.64; alfa = 0.35; Lmax = 69.5; Lmin = 1.0; x0 = 0.0; xf = kMax; Integral.Funcao bf = FuncaoBfAdam2012; Integral.Funcao an = FuncaoAnAdam2012; FixedPoint.FuncaoDupla fp = FuncaofpAdam2012; Integral.Funcao D = FuncaoDAdam2012; Integral.Funcao klinha = FuncaoklinhaAdam2012; Integral.Funcao funcaoIncial = FuncaoInicialAdam2012; autoQuad = new AutoQuad2(10, x0, xf, precisaoRequerida, 10); FixedPoint fixedPoint = new FixedPoint(N, x0, xf, bf, an, fp, D, funcaoIncial); //fixedPoint.PrepararFp = CalcularS0; CalcularS0(kMax); Stopwatch stopwatch = new Stopwatch(); List<double[]> concentracao = new List<double[]>(); stopwatch.Start(); concentracao = fixedPoint.Calcular(npassos, passo); Trace.WriteLine(stopwatch.ElapsedMilliseconds); stopwatch.Stop(); var fator = 1; CriarScripParaMatlabConcentracao(@"LaxminaraAdam2012\concentracao", fixedPoint.tempo,fixedPoint.x, concentracao, fator); }
public void McCoyTeste() { N = 100; int npassos = 101; double passo = 0.1; x0 = 125.0; xf = 1200.0; Integral.Funcao bf = FuncaoBfMcCoy; Integral.Funcao an = FuncaoAnMcCoy; FixedPoint.FuncaoDupla fp = FuncaofpMcCoy; Integral.Funcao D = FuncaoDMcCoy; Integral.Funcao funcaoIncial = FuncaoMcCoy; FixedPoint fixedPoint = new FixedPoint(N, x0, xf, bf, an, fp, D, funcaoIncial); Stopwatch stopwatch = new Stopwatch(); List<double[]> concentracao = new List<double[]>(); stopwatch.Start(); concentracao = fixedPoint.Calcular(npassos, passo); Trace.WriteLine(stopwatch.ElapsedMilliseconds); stopwatch.Stop(); autoQuad = new AutoQuad2(10, x0, xf, precisaoRequerida, 15); int numeroDePontos = 6; var fator = Convert.ToInt32(1.0/passo); //var fator = 1; var momentosNumericos = new List<double[]>(); var listaTempo = new List<double>(); int contador = 0; var momentosIniciais = CalcularMomentosIniciaisMcCoy(numeroDePontos, FuncaoMcCoy); momentosNumericos.Add(momentosIniciais); for (int i = 1; i < fixedPoint.tempo.Length; i += fator) { contador++; var momentos = CalcularMomentos(numeroDePontos, concentracao[i], fixedPoint.x); momentosNumericos.Add(momentos); listaTempo.Add(contador); } List<double[]> momentosAnaliticos = CalcularMomentosAnaliticosMcCoy(fixedPoint.tempo, numeroDePontos, momentosIniciais, fator); CriarScripParaMatlabConcentracao(@"LaxminaraMcCoy\concentracao", fixedPoint.tempo,fixedPoint.x, concentracao, fator); CriarScripParaMatlabMomentos(@"LaxminaraMcCoy\momentos", "A", listaTempo.ToArray(), momentosAnaliticos, momentosNumericos, 1); }