O Calculo Numérico
Por: Lohainne Silva • 4/5/2021 • Trabalho acadêmico • 760 Palavras (4 Páginas) • 139 Visualizações
Projeto Computacional 2
Cursos: Engenharias(Civil, Mecânica,Elétrica, Produção) [pic 1]
Disciplina: Cálculo Numérico
Professor: Marcelo Matos Martins
Nomes: | ** | ||
** | |||
Turma | Engenharia Mecânica ( ) | Engenharia Elétrica ( ) | |
Engenharia Civil ( x ) | Engenharia de Produção ( ) | ||
Projeto Computacional | Determinação dos zeros reais de uma função real | ||
Objetivos do projeto: | Programar o método de Posição Falsa no MatLab; | ||
Informações importantes: | i) O trabalho será realizado em duplas; ii) A entrega do trabalho será no dia 8 de maio de 2016; iii) O trabalho deve ser entregue via fórum no AVA; iv) O atraso na entrega resultará numa pontuação inferior a 10; v) A “clonagem” de trabalhos resultará na anulação dos trabalhos; vi) É vetado a utilização de bibliotecas prontas do MatLab sobre o assunto. | ||
Tema: | Encontrar o zero da função [pic 2] para a precisão de [pic 3] | ||
Intervalo do zero a ser calculado: | [0;1] | ||
Descrição do Programa (cada linha do programa deve ser explicada) | |||
format long g %format long g indica que a resposta é de até 14 casas decimais
a = 0; %os valores de a e b representam os limites do intervalo escolhidos b = 1; e = 0.0000001; %representa o número de casas decimais iter=0; %início das iterações
while abs(a-b) > e %módulo do valor estimado ao erro x1 = (2^a)-3*a; %são estipulados os valores de f(a)=x1 e f(b)=x2 para descobrir o valor de x e f(x)=y x2 = (2^b)-3*b;
x = (a*x2-b*x1)/(x2-x1); %equação para achar o x representada no método de posição falsa, onde %x=((a*f(b)-b*f(a))/(f(b)-f(a)) y = (2^x)-3*x; %f(x) da equação utilizando o x encontrado
if abs(y) < e %se módulo de f(x)=y for menor que o erro, haverá uma parada break; elseif y*x1 < 0; %se f(x)=y multiplicado por f(a)=x1 for menor que zero, b=x b = x; else a = x; %se não, b terá seu próprio valor, e a será substituído por x end iter=iter+1; %com o término da condição, será somado uma iteração a mais para encontrar o erro. end % quando o erro equivaler a zero, a conta esta finalizada.
fprintf ('interações = %7.7f\n',iter); %número de iterações fprintf ('x = %7.7f\n',x); | |||
Resultado: | x = 0.4578224 | Número de Iterações: | 5.0000000 |
Descrição do Programa (cada linha do programa deve ser explicada) | |||
xk=0.1; %início das iterações por conter ln na função x=0.5; %representa a média do erro [0,1] para o cálculo iter=0; %iterações iniciam em 0 while abs(xk)> 1e-7 %erro apresentado em módulo iter=iter+1; %as iterações crescem aritmeticamente
fx=0-(2^x-3*x); %função apresentada j=(2^x)*log(2)-3; %derivada da função apresentada
xk=(fx/j); %representa a função dividida por sua derivada, que é uma parcela da fórmula para encontrar o xk+1 utilizando o método de Newton-Raphson
x=x+xk; %fórmula para encontrar o xk+1 end fprintf ('interações = %7.7f\n',iter); %mostra a quantidade de interações resultante com o número de casas decimais proposto
fprintf ('X = %7.7f\n',x); %mostra o resultado de xk+1 com o número de casas decimais proposto
| |||
Resultado: | X = 0.4578224 | Número de Iterações: | 3.0000000 |
...