TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

A UNIVERSIDADE FEDERAL DE GOIÁS REGIONAL CATALÃO

Por:   •  9/8/2022  •  Ensaio  •  1.888 Palavras (8 Páginas)  •  114 Visualizações

Página 1 de 8

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.

...

Baixar como (para membros premium)  txt (12.8 Kb)   pdf (126.6 Kb)   docx (560.1 Kb)  
Continuar por mais 7 páginas »
Disponível apenas no TrabalhosGratuitos.com