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

O Calculo Numérico

Por:   •  4/5/2021  •  Trabalho acadêmico  •  760 Palavras (4 Páginas)  •  132 Visualizações

Página 1 de 4

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

...

Baixar como (para membros premium)  txt (3.5 Kb)   pdf (148.6 Kb)   docx (49.4 Kb)  
Continuar por mais 3 páginas »
Disponível apenas no TrabalhosGratuitos.com