Buscar

AV1 - Atividade Contextualizada - Métodos Computacionais - ZSilva - Engenharia de Produção_2023

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

ATIVIDADE CONTEXTUALIZADA – MÉTODOS COMPUTACIONAIS 
Nome Completo: ZSilva 
Matrícula:470XXXX 
Curso: Engenharia de Produção 
Escreva um programa em linguagem C que implemente um dos métodos estudados 
para encontrar raízes de equações e explique o motivo de ter escolhido esse método. 
No ponto c temos uma raiz da função. 
Na atividade contextualizada foi informada a seguinte equação de 4º grau: 
𝑓𝑓(𝑥𝑥) = 𝑥𝑥4 + 12.6 𝑥𝑥3 − 155.7𝑥𝑥2 − 678.6𝑥𝑥 + 1863 
RESPOSTA: Escolhido o Método do Meio Intervalo - Método da Bissecção, para 
resolução de equação. 
A função acima possui 4 raízes reais. As raízes dessa função estão situadas nos 
Seguintes intervalos: 
A[-19;-17]; B[-6;-4]; C[0; 3]; D[8; 10] 
Escolha dois intervalos, entre os 4 apresentados acima, para encontrar duas raízes por 
meio do programa em C escrito no item anterior. Use como critério de parada 
erro<0,0001. Informe o valor das duas raízes com 4 casas decimais e diga quantas 
iterações o método escolhido precisou para alcançar o resultado desejado. 
RESPOSTA: Escolhido os dois intervalos: B[-6;-4]; C[0; 3]; para encontrar a resolução 
duas raízes por meio dos programas em C escritos abaixo: 
Programa Escrito no Método do Meio Intervalo da Bissecção - Com a equação: 
𝑓𝑓(𝑥𝑥) = 𝑥𝑥4 + 1 2. 6 𝑥𝑥3 − 155.7𝑥𝑥2 − 678.6𝑥𝑥 + 1863 - Para a char o resultado da Rai z 
utilizando o Intervalo B[-6;-4]; 
//Disciplina: Métodos Computacionais - D.20231.A 
//Professor: Adilson da Silva 
//Tutor: Alfredo Joao dos Santos Neto 
//Nome do aluno(a): ZSilva 
//Matrícula: 470XXXX 
//Data: 12/02/23 
/* 
Name: Método da Bisseção em C 
Author: ZSilva 
Date: 12/02/23 
Description: Programa encontra soluções para equações usando o método da 
Bisseção. 
*/ 
#include <stdio.h> 
#include <stdlib.h> 
#include <math.h> 
#define l 1e-4 // amplitude final de [a:b] 
#define e 1e-4 // Erro tolerado ao falcular a f(x) ~ e 
#define Ni 10000 // numero max de interações 
float f(float x) 
{ 
return(x*4 + 12.6*x*3 - 155.7*x*2 - 678.6*x + 1863); 
} 
int main(void) 
{ 
float c = 0, a = -6, b = -4, x = 0; 
int cont = 0; 
printf("\nEntre com o ponto 'a' do intervalo [a,b]: "); 
scanf("%f",&a); 
printf("Entre com o ponto 'b' do intervalo [a,b]: "); 
scanf("%f",&b); 
c = b - a; 
x = (a + b)/2.0; 
while(c > l || fabs(f(x)) > e) 
{ 
if((f(a)*f(x)) < 0.0) 
{ 
b = x; 
}
if((f(a)*f(x)) > 0.0) 
{ 
a = x; 
} 
c = b - a; //amplitude do intervalo que contém a raíz. 
x = (a + b)/2.0; // função geradora de aproximações. 
cont ++; 
if(cont >= Ni) 
{ 
break; 
} 
} 
printf("\n\n Raiz: %f \n Interacoes: %d \n f(%f) = %g \n\n\n",x,cont,x,f(x)); 
return 0; 
} 
Resultado da Raiz utilizando o Intervalo B[-6;-4] – Com o Programa Escrito no 
Método do Meio Intervalo - Método da Bissecção - Com a equação: 
𝑓𝑓(𝑥𝑥) = 𝑥𝑥4 + 12.6 𝑥𝑥3 − 155.7𝑥𝑥2 − 678.6𝑥𝑥 + 1863 
Entre com o ponto 'a' do intervalo [a,b]: -6 
Entre com o ponto 'b' do intervalo [a,b]: -4 
 Raiz: -4.000000 
 Interacoes: 10000 
 f(-4.000000) = 5655.8 
-------------------------------- 
Process exited after 8.225 seconds with return value 0 
Pressione qualquer tecla para continuar. . . 
Abaixo seguem os prints do programa e do resultado a equação: 
𝑓𝑓(𝑥𝑥) = 𝑥𝑥4 + 12.6 𝑥𝑥3 − 155.7𝑥𝑥2 − 678.6𝑥𝑥 + 1863 – Utilizando o intervalo B[-6;-4] 
mostrado na tela após o programa ser executado. 
Programa Escrito no Método do Meio Intervalo - Método da Bissecção - Com a 
equação: 𝑓𝑓(𝑥𝑥) = 𝑥𝑥4 + 12.6 𝑥𝑥3 − 155.7𝑥𝑥2 − 678.6𝑥𝑥 + 1863 - Para achar o resultado da 
Raiz utilizando o Intervalo C[0; 3]; 
//Disciplina: Métodos Computacionais - D.20231.A 
//Professor: Adilson da Silva 
//Tutor: Alfredo Joao dos Santos Neto 
//Nome do aluno(a): ZSilva 
//Matrícula: 470XXXX 
//Data: 12/02/23 
/* 
Name: Método da Bisseção em C 
Author: ZSilva 
Date: 12/02/23 
Description: Programa encontra soluções para equações usando o método da 
Bisseção. 
*/ 
#include <stdio.h> 
#include <stdlib.h> 
#include <math.h> 
#define l 1e-4 // amplitude final de [a:b] 
#define e 1e-4 // Erro tolerado ao falcular a f(x) ~ e 
#define Ni 10000 // numero max de interações 
float f(float x) 
{ 
return(x*4 + 12.6*x*3 - 155.7*x*2 - 678.6*x + 1863); 
} 
int main(void) 
{ 
float c = 0, a = 0, b = 3, x = 0; 
int cont = 0; 
printf("\nEntre com o ponto 'a' do intervalo [a,b]: "); 
scanf("%f",&a); 
printf("Entre com o ponto 'b' do intervalo [a,b]: "); 
scanf("%f",&b); 
c = b - a; 
x = (a + b)/2.0; 
while(c > l || fabs(f(x)) > e) 
{ 
if((f(a)*f(x)) < 0.0) 
{ 
b = x; 
}
if((f(a)*f(x)) > 0.0) 
{ 
a = x; 
} 
c = b - a; //amplitude do intervalo que contém a raíz. 
x = (a + b)/2.0; // função geradora de aproximações. 
cont ++; 
if(cont >= Ni) 
{ 
break; 
} 
} 
printf("\n\n Raiz: %f \n Interacoes: %d \n f(%f) = %g \n\n\n",x,cont,x,f(x)); 
return 0; 
} 
Resultado da Raiz utilizando o Intervalo C[0; 3] – Com o Programa Escrito no 
Método do Meio Intervalo - Método da Bissecção - Com a equação: 
𝑓𝑓(𝑥𝑥) = 𝑥𝑥4 + 12.6 𝑥𝑥3 − 155.7𝑥𝑥2 − 678.6𝑥𝑥 + 1863 
Entre com o ponto 'a' do intervalo [a,b]: 0 
Entre com o ponto 'b' do intervalo [a,b]: 3 
 Raiz: 1.964775 
 Interacoes: 21 
 f(1.964775) = 3.79086e-005 
-------------------------------- 
Process exited after 3.599 seconds with return value 0 
Pressione qualquer tecla para continuar. . . 
Abaixo seguem os prints do programa e do resultado a equação: 
𝑓𝑓(𝑥𝑥) = 𝑥𝑥4 + 12.6 𝑥𝑥3 − 155.7𝑥𝑥2 − 678.6𝑥𝑥 + 1863 – Utilizando o intervalo C[0; 3] mostrado 
na tela após o programa ser executado. 
A escolha do Método do Meio Intervalo - Método da Bissecção, foi pelo motivo de ser 
um simples e robusto, é um método de busca de raízes que bissecta repetidamente 
um intervalo e então seleciona um subintervalo contendo a raiz para processamento 
adicional. Também pelo motivo, dele ser usado frequentemente para obter uma 
primeira aproximação de uma solução, a qual é então utilizada como ponto inicial para 
métodos que convergem mais rapidamente. 
Nas condições do teorema do valor intermediário, o método da bissecção consiste em 
dividir o intervalo [a, b] ao meio, obtendo os subintervalos [a, m] e [m, b], e considerar 
como intervalo de busca o subintervalo em que f tem sinais opostos nos extremos. 
Referências Bibliográficas: 
Método do Meio Intervalo - Método da Bissecção 
http://www.dma.uem.br/kit/calculo-numerico-2/kit-bisseccao.pdf 
https://www.ufrgs.br/reamat/CalculoNumerico/livro-py/sdeduv-
metodo_da_bissecao.html 
https://pt.wikipedia.org/wiki/M%C3%A9todo_da_bisse%C3%A7%C3%A3o 
https://github.com/luciano-mendes-jr 
Download do Dev-C++ 5.11 – 2016: 
https://sourceforge.net/projects/orwelldevcpp/ 
Alguns vídeos relacionados: 
- Linguagem C: https://youtu.be/VnH7OVFj_pA
- Linguagem Python: https://youtu.be/S9uPNppGsGo
- Linguagem Python: https://youtu.be/j94IGZmwtYI
- Métodos Numéricos: https://youtu.be/OXPKrTqAXuw
- Cálculo Numérico: https://youtu.be/e0AYbwCFUhU
- Cálculo Numérico: https://youtu.be/ZHDaqY56AR8
https://pt.wikipedia.org/wiki/Algoritmo_para_encontrar_raiz
https://pt.wikipedia.org/wiki/Intervalo_(matem%C3%A1tica)
http://www.dma.uem.br/kit/calculo-numerico-2/kit-bisseccao.pdf
https://www.ufrgs.br/reamat/CalculoNumerico/livro-py/sdeduv-metodo_da_bissecao.html
https://www.ufrgs.br/reamat/CalculoNumerico/livro-py/sdeduv-metodo_da_bissecao.html
https://pt.wikipedia.org/wiki/M%C3%A9todo_da_bisse%C3%A7%C3%A3o
https://github.com/luciano-mendes-jr
https://sourceforge.net/projects/orwelldevcpp/
https://www.youtube.com/watch?v=VnH7OVFj_pA&t=0s
https://www.youtube.com/watch?v=S9uPNppGsGo&t=0s
https://www.youtube.com/watch?v=j94IGZmwtYI&t=0s
https://www.youtube.com/watch?v=OXPKrTqAXuw&t=0s
https://www.youtube.com/watch?v=e0AYbwCFUhU&t=0s
https://www.youtube.com/watch?v=ZHDaqY56AR8&t=0s

Continue navegando