Documentos de Académico
Documentos de Profesional
Documentos de Cultura
29
a) x^2 + ln x = 0
Analisando a funo vemos que x pertence aos reais para x > 0, e sua derivada
= 2x + 1/x sempre sendo positiva para x > 0. Sabendo que prximo de 0 a funo
tende a -, recebemos a informao que a funo ter uma nica raiz pois sua derivada
sempre ser positiva fazendo com que ela cresa.
Para a achar o valor de x que satisfaa a igualdade acima, foi utilizado o mtodo
das secantes pelas seguintes linhas de comando.
//Vriaveis auxiliares
pare=%f
x=x0
y=x1
n=0
while pare==%f do
z=(x*f(y)-y*f(x))/(f(y)-f(x))
if abs(f(z))<erro then //Novo critrio de parada
pare=%t
end
x=y
y=z
if n==100 then
pare=%t
end
n=n+1
end
disp("A raiz da funo :")
disp(x)
disp("O nmero de iteraes foi:")
disp(n)
Analisando a funo vemos que seu domnio pertence aos reais, e que sua
derivada (e^x)*(x+1) ser positiva de -1 at . A funo claramente ter a imagem
negativa para x negativo. Logo ela ter uma nica raiz.
Para achar o valor de x que satisfaa a igualdade acima, tambm foi utilizado o
mtodo das secantes e o mesmo programam do exerccio anterior, diferenciando
somente na quarta linha.
function y=f(x)
y=x*exp(x)-1
Exerccio 3.40
x^3-6x^2+6x+7=0
clear;clc;
//mtodo de newton
//entrada
function y=f(x) //funo a anular
y=x^3-6*x^2+6*x+7
endfunction
function y=d(x)
y=3*x^2-12*x+6 //derivada da funo a anular
endfunction
plot(-2:0.001:5,f)
x0=4 //palpite
erro=0.0001 //erro
//variveis auxiliares
pare=%f
x=x0
n=0 //contador
//Rotina
while pare==%f do
y=x-f(x)/d(x)
if abs((y-x)/y)<erro then //Critrio de parada
pare=%t
end
x=y
if n==100 then //contador de segurana
n=n+1
pare=%t
end
end
disp("A raiz aproximada :")
disp(y)
erro = 0.0001
palpite x0= -1
A raiz aproximada : -0.6690791
palpite x0 = 2
A raiz aproximada : 2.5239764
palpite x0 = 4
A raiz aproximada : 4.1451027
Projeto 3.7
Com a definio G(t) = F(t) I, aplicamos o mtodo de newton para achar a raiz
de G(t) assim obtendo o T correspondente para o casos propostos. Segue abaixo as
linhas de comando utilizadas.
clear; clc;
//Rotina
while pare==%f do
n=n+1
y=x-f(x)/d(x)
if abs((y-x)/y)<erro then //Critrio de parada
pare=%t
end
x=y
if n==100 then //Contador de segurana
pare=%t
end
end
disp("O tempo t em segundos :")
disp(y)
disp("O nmero de iteraes :")
disp(n)
Projeto 3.13
//Mtodo da Bisseo
clear; clc;
//Entrada
a=0.01
b=0.5
K=0.28
RE=3750
//vriavel auxiliar
pare=%f
//rotina
n=0
while pare==%f do
c=(a+b)/2
if f(c)==0 then
pare=%t
end
if f(a)*f(c)<0 then
b=c
else
a=c
end
if b-a<erro then //critrio de parada
pare=%t
end
if n==100 then //contador de segurana
pare=%t
end
n=n+1
disp ([n c f(c)]) //imprimi nmero da iterao / atrito / imagem da funo
end
plot(-10:0.1:10,f)
disp("O valor do atrito :")
disp(c)
O valor do atrito :
0.0051219