Está en la página 1de 6

Exerccio 3.

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.

//Mtodo das secantes


//Entrada
function y=f(x)
y=x^2+log(x)
endfunction
plot(0:0.001:1.5,f)
x0=1
x1=1.1
erro=0.0001

//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)

Recebendo a seguinte resposta para um erro de 0.0001:


A raiz da funo : 0.6535138
O nmero de iteraes foi: 3.
--> f(x)
ans = 0.0016888
b) xe^x 1 = 0

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

Recebendo a seguinte resposta para um erro de 0.0001:


A raiz da funo : 0.5673478
O nmero de iteraes foi: 5.
--> f(x)
ans = 0.0005652

Exerccio 3.40

x^3-6x^2+6x+7=0

Para achar a raiz negativa da funo acima aplicaremos o mtodo de Newton


com um palpite negativo e daremos outros palpites positivos para achar as razes
positivas, utilizei o plot para me auxiliar a dar bons palpites. Como entrada fornecemos
a funo, sua derivada, o palpite e o erro. Segue abaixo as linhas de comando utilizadas.

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.

// Usamos o Mtodo de Newton para achar a Raz

clear; clc;

function y=f(x) //funo a anular


y=(Q/(R*C)*exp(-x/(R*C))-I) //funo G(t)
endfunction
function y=d(x)
y=-(Q/(R^2*C^2)*exp(-x/(R*C))) //G'(t)
endfunction

I = input(" Escolha o valor da corrente I: ")


Q = input(" Escolha o valor da carga inicial Q: ")
R = input(" Escolha o valor da resistncia R: ")
C = input(" Escolha o valor da capacitncia C: ")
t = input(" Escolha o palpite: ")
erro = 0.0001
n=0
x=t
pare=%f

//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)

a) I = 0.83 Ampre, Q0 = 7 coulomb, R = 3 Ohms, C = 2 Farad


Escolha o valor da corrente I: 0.83
Escolha o valor da carga inicial Q: 7
Escolha o valor da resistncia R: 3
Escolha o valor da capacitncia C: 2
Escolha o palpite: 0
O tempo t em segundos : 2.0428815
nmero de iteraes : 4.
b) I = 0.198 Ampre, Q0 = 20 coulomb, R = 9 Ohms, C = 11 Farad
Escolha o valor da corrente I: 0.198
Escolha o valor da carga inicial Q:
20 Escolha o valor da resistncia R: 9
Escolha o valor da capacitncia C: 11
Escolha o palpite: 0
O tempo t em segundos : 1.9899665
O nmero de iteraes : 3.

Projeto 3.13

Passamos o termo (1/ f) para o outro lado da igualdade e aplicamos o mtodo


da bisseo, tentei o mtodo de Newton primeiro mas o resultado no foi satisfatrio,
pois funo tende a - em um ponto que est prximo a raiz. Com o mtodo da bisseo
e um bom palpite atravs da anlise do grfico plotado da funo, chegamos a resposta
desejada. Utilizamos as seguintes linhas de comando.

//Mtodo da Bisseo

clear; clc;

function y=f(x) //funo a anular


y=(1/K)*log(RE*(x^(1/2)))+(14-(5.6/K))-(1/(x^(1/2))) //funo F(x)
endfunction

//Entrada
a=0.01
b=0.5
K=0.28
RE=3750

erro=0.001 //margem de erro

//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)

Obtivemos a seguinte resposta:


1. 0.2505 18.92115
2. 0.12575 16.868525
3. 0.063375 14.492596
4. 0.0321875 11.681216
5. 0.0165938 8.3089851
6. 0.0087969 4.2767557
7. 0.0048984 -0.3948082
8. 0.0068477 2.4068716
9. 0.005873 1.1684846
10. 0.0053857 0.4362622
11. 0.0051421 0.0344947
12. 0.0050203 -0.1765127
13. 0.0050812 -0.0701246
14. 0.0051116 -0.017597
15. 0.0051269 0.0085029
16. 0.0051192 -0.0045335
17. 0.0051231 0.0019881
18. 0.0051212 -0.0012718
19. 0.0051221 0.0003583
20. 0.0051216 -0.0004567
21. 0.0051219 -0.0000492
22. 0.005122 0.0001546
23. 0.0051219 0.0000527
24. 0.0051219 0.0000018
25. 0.0051219 -0.0000237
26. 0.0051219 -0.000011

O valor do atrito :
0.0051219

También podría gustarte