private void ExecucaoExemploSimpson() { FuncoesSimpson funcSimp = new FuncoesSimpson(); ExemploFuncoes funcExemplos = new ExemploFuncoes(); double a = 0, b = 0.8; int n = 4, nParImpar = 5; bool exercicio = false; Console.WriteLine("Utilizacao das funcoes para o exemplo:"); Console.WriteLine(); Console.WriteLine(equacaoExemplo); Console.WriteLine(); Console.WriteLine("Resultado 1/3 = " + Math.Round(funcSimp.CalculaSimp13(a, b, exercicio, 12), 6)); //OK Exemplo Console.WriteLine(); Console.WriteLine("Resultado 1/3 Multiplo = " + Math.Round(funcSimp.CalculaSimp13m(a, b, n, exercicio), 6));// OK Exemplo Console.WriteLine(); Console.WriteLine("Resultado 3/8 = " + Math.Round(funcSimp.CalculaSimp38(a, b, exercicio), 6)); //OK Exemplo Console.WriteLine(); Console.WriteLine("Resultado Regra Multipla Par e Impar = " + Math.Round(funcSimp.CalculaSimpInt(a, b, nParImpar, exercicio), 6));// OK Exemplo Console.WriteLine(); }
private void ExecucaoExercicioAV1_24_1() { FuncoesSimpson funcAv1 = new FuncoesSimpson(); double g = 1200; double ti = -150, tf = 100, inc = 50; Console.WriteLine("Utilização da funcao do exercicio 24.1:"); Console.WriteLine(); Console.WriteLine(equacaoExercicioAV1_24_1); Console.WriteLine(); Console.WriteLine("Resultado da utilizacao de simpson 1/3 com: "); Console.WriteLine("Gramas: " + g + " g"); Console.WriteLine("Temperatura inicial: " + ti + " °C"); Console.WriteLine("Temperatura final: " + tf + " °C"); Console.WriteLine("Incremento: " + inc + " °C"); Console.WriteLine(); Console.WriteLine("Quantidade de calor " + funcAv1.CalculaSimp13mAV1_24_1(ti, tf, inc, g)+" cal"); }
public double CalculaIntegracao(double a, double b, int maxit, double es) { Stopwatch sw = new Stopwatch(); tempoExecucao = TimeSpan.Zero; sw.Start(); RegraDoTrapezio.RegraDoTrapezio trap = new RegraDoTrapezio.RegraDoTrapezio(); FuncoesSimpson simp = new FuncoesSimpson(); double[,] I = new double[maxit, maxit]; double ea = 0; int n = 1; int j = 0; int iter = 0; double solucao = 0; I[1, 1] = trap.CalculaRegraEq(n, a, b); while (true) { iter += 1; n = (int)Math.Pow(2, iter); I[iter+1,1] = trap.CalculaRegraEq(n, a, b); for(int k = 2; k <= iter + 1; k++) { j = 2 + iter - k; I[j, k] = (Math.Pow(4, k - 1) * I[j + 1, k - 1] - I[j, k - 1]) / (Math.Pow(4, k - 1) - 1); } ea = Math.Abs((I[1, iter] - I[2, iter - 1]) / I[1, iter]) * 100; if(iter >= maxit || ea <= es) { break; } } iteracoes = iter; solucao = Math.Round(I[1, iter + 1],6); sw.Stop(); tempoExecucao = sw.Elapsed; return solucao; }
private void ExecucaoExercicioSimpson() { FuncoesSimpson funcSimp = new FuncoesSimpson(); ExemploFuncoes funcExemplos = new ExemploFuncoes(); double a = 0, b = 10; int n = 10; int nEq = 256; bool exercicio = true; Console.WriteLine("Utilizacao das funcoes para o exercicio:"); Console.WriteLine(); Console.WriteLine(equacaoExercicio); Console.WriteLine(); Console.WriteLine("Resultado 1/3 = " + Math.Round(funcSimp.CalculaSimp13(a, b, exercicio, 100), 6)); //OK Exercicio Console.WriteLine("O sistema levou " + funcSimp.tempoSimp13 + " para ser resolvido"); Console.WriteLine(); Console.WriteLine("Resultado 1/3 Multiplo = " + Math.Round(funcSimp.CalculaSimp13m(a, b, n, exercicio), 6)); //OK Exercicio Console.WriteLine("O sistema levou " + funcSimp.tempoSimp13m + " para ser resolvido"); Console.WriteLine(); Console.WriteLine("Resultado 3/8 = " + Math.Round(funcSimp.CalculaSimp38(a, b, exercicio), 6)); //OK Exercicio Console.WriteLine("O sistema levou " + funcSimp.tempoSimp38 + " para ser resolvido"); Console.WriteLine(); Console.WriteLine("Resultado Regra Multipla Par e Impar = " + Math.Round(funcSimp.CalculaSimpInt(a, b, n, exercicio), 6));// OK Exercicio Console.WriteLine("O sistema levou " + funcSimp.tempoSimpInt + " para ser resolvido"); Console.WriteLine(); //Exercicio Romberg Console.WriteLine("Aplicação no exemplo 21.1 como solicitado na aula 3"); Console.WriteLine("Resultado Regra 1/3 quando a funcao e conhecida = " + Math.Round(funcSimp.CalculaSimpEq(nEq, 0, 0.8), 6));// OK Exercicio Console.WriteLine("O utilizando " + nEq + " segmentos"); Console.WriteLine("O sistema levou " + funcSimp.tempoSimpInt + " para ser resolvido"); Console.WriteLine(); }