A UNIVERSIDADE FEDERAL DE GOIÁS REGIONAL CATALÃO
Por: João Víctor Lima • 9/8/2022 • Ensaio • 1.888 Palavras (8 Páginas) • 108 Visualizações
UNIVERSIDADE FEDERAL DE GOIÁS
REGIONAL CATALÃO
Cálculo Numérico
Prof. Cláudio Lemos
Trabalho de Algorítmos
30/08/17
Turma A – Engenharia De Minas
Nathália Rodrigues Borges...- 201608240
Catalão – GO, 2017.
Capítulo 2 – Zeros de Funções (Método de Newton Raphson)
Para resolver equações da forma f(x)=0 e como na maioria dos casos estas equações não possuem solução algébrica, bem contrário como existe para as equações de segundo grau, estuda-se os esquemas numéricos que podem fornecer uma solução aproximada de modo que seja satisfatória. O processo para encontrar uma solução envolve duas fases: Isolamento das raízes e o refinamento.
A seguir um modelo algoritmo de exemplificação atribuído a zeros de funções.
Método da Bisseção
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
float f(float x)
{ return( pow(x,3)- 9*x + 3); }
void main()
{ int i = 0;
float a,b,c;
float erro;
float fa,fb,fc;
printf("\n Metodo da Bissecao\n\n");
printf("\n A funcao utilizada e: f(x)= x^3-9x+3\n\n");
printf("\n Entre com a = ");
scanf("%f",&a);
printf("\n Entre com b = ");
scanf("%f",&b);
printf("\n Entre com o erro = ");
scanf("%f",&erro);
fa = f(a);
fb = f(b);
if ((fa * fb) > 0)
{printf("Condicao inicial nao contem raiz !\n");
exit(0); }
while(fabs(a-b) > erro)
{ i++; c = (a+b)/2.0; fc = f(c) ;
if (fa * fc < 0) b = c;
else if (fb * fc < 0) a = c;
else break;
printf("O valor de [X%d] = %f \n",i,c); }
printf("\nRaiz obtida = %f \n",c); }
Método de Newton-Raphson
#include <stdio.h>
#include <math.h>
main()
{int i;
double xn, x0,xn_1;
double erro;
printf("\n Metodo de Newton-Rhapson para zeros de funcoes f(x).\n\n");
printf("\n Funcao utilizada como exemplo: f(x)= x^2 - 5\n\n");
printf(" Entre com a condicao inicial(xo):");
scanf("%lf",&x0);
printf("\n Erro maximo: ");
scanf("%lf",&erro);
xn = x0;
i = 0;
do { xn_1 = xn;
xn = xn_1 - (pow(xn_1,2) - 5) / (2*xn_1);
i++;
printf("\nx[%2d] = %20.17f",i,xn); }
while (fabs(xn - xn_1) > erro);
printf ("\n A raiz obtida foi: %20.17f\n",xn);
return 0; }
Capítulo 3 – Sistemas Lineares (Cálculo da Matriz Inversa)
A resolução de sistemas lineares pode surgir em diversas áreas do conhecimento. Em caso geral os sistemas lineares envolve m equações com n incógnitas, o sistema pode apresentar uma única solução, infinitas soluções ou não admitir solução alguma. Este sistema pode ser descrito na forma matricial Ax=b com A E Rnxm e x, b E Rn. Analisam-se duas classes de esquemas numéricos os métodos iterativos e métodos diretos
A seguir um modelo algoritmo de exemplificação atribuído a sistemas lineares.
// Método de eliminação de Gauss para solução de equações.
#include <stdio.h>
#include <conio.h>
void main()
{ int i,j,k,n; float temp,a[9][9],x[9]; char pausa='\0';
// Leitura do numero de equações.
clrscr(); cout<<"Entre com o numero de equações:"; cin>>n; n--; clrscr();
//Leitura dos termos das equações.
for (i=0;i<=n;i++)
{ cout<<"Linha “<<i<<”\n";
for (j=0;j<=n;j++)
{ cout<<"Forneça o termo de “<<j<>a[i][j]; }
cout<<"O valor da solução e:";cin>>a[i][j];
clrscr();}
// Mostra a matriz original
cout<<"\n\n\n\nMatriz original:\n";
for (i=0;i<=n;i++)
{ for (j=0;j<=n+1;j++) {cout.width(8); cout<<<"\n";}
// Processo de triangularização da matriz.
for (k=0;k<n;k++)
for (i=k+1;i<=n;i++)
{ temp=(-1.0)*a[i][k]/a[k][k]; for (j=0;j<=n+1;j++) a[i][j]=(temp*a[k][j])+a[i][j]; }
// Mostra a matriz modificada
cout<<"\n\n\n\nMatriz modificada:\n";
for (i=0;i<=n;i++)
{ for (j=0;j<=n+1;j++) {cout.width(8); cout<<<"\n";}
/* PAUSA */ do { pausa=getch();} while (pausa=='\0');
// Determinação da solução das equações.
clrscr();
for (i=n;i>=0;i=i-1)
{ x[i]=a[i][n+1]; for (j=n;j>i;j=j-1) x[i]-=x[j]*a[i][j]; x[i]=x[i]/a[i][i];}
// Saída de Resultados.
for (i=0;i<=n;i++)
cout<<"X[”<<i<<<x[i]<<”\n”;
/* PAUSA */ do { pausa=getch();} while (pausa=='\0');}
Capítulo 4 – Ajuste de Curvas: Método dos Mínimos Quadrados
Um conjunto de dados que devem ser analisados com o objetivo de determinar certas propriedades deve-se obter uma função matemática que represente ou que se ajuste aos dados pré-estabelecidos, de modo que, permita fazer simulações do processo de forma confiável, reduzindo as possíveis repetições desnecessárias. Portanto, o esquema dos mínimos quadrados fornece uma função que melhor representa os dados pré-estabelecidos.
...