Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
LISTA DE EXERCÍCIOS
Resumo
% QUESTÃO 2.6
plot(t,q)
title('Gráfico de carga no capacitor q(t) como função do tempo')
xlabel('tempo')
ylabel('carga no capacitor')
grid
PROBLEMA 5.14
Cálculo da taxa de juros de um empréstimo utilizando a função bissec:
% QUESTÃO 5.14
clc
clear
syms i
f = @(i) P*i*(1+i)^n/((1+i)^n-1)-A; % Fórmula
function [raiz,fx,ea,iter]=bissec(func,xl,xu,es,maxit,varargin)
% bissec: localização de raízes pelo metodo da bissecção
% [raiz,fx,ea,iter]=bisect(func,xl,xu,es,maxit,p1,p2,...):
% usa o metodo da bissecção para encontrar a raiz de FUNC
% entrada:
% func = nome da função
% xl, xu = aproximações inferior e superior
% es = erro relativo desejado (padrão = 0.0001%)
% maxit = numero maximo de interações permitidas(Padrão = 50)
% p1,p2,... = parametros adicionais usados por FUNC
% Saida:
% Raiz = raiz real
% fx = valor da função em raiz
% ea = erro relativo aproximado (em %)
% iter = numero de interações
if nargin<3,error('Precisa ter pelo menos 3 argumentos de
entrada.'),end
test = func(xl,varargin{:})*func(xu,varargin{:});
if test>0,error('Não há mudança de sinal.'),end
if nargin<4||isempty(es), es=0.0001;end
if nargin<5||isempty(maxit), maxit=50;end
iter = 0; xr = xl; ea = 100;
while (1)
x_velho = xr;
xr = (xl + xu)/2;
iter = iter + 1;
if xr ~= 0,ea = abs((xr - x_velho)/xr) * 100;end
test = func(xl,varargin{:})*func(xr,varargin{:});
if test < 0
xu = xr;
elseif test > 0
xl = xr;
else
ea = 0;
end
if ea <= es | iter >= maxit,break,end
end
raiz = xr; fx = func(xr, varargin{:});
PROBLEMA 5.18
Cálculo do fator de atrito de Fanning pela equação de von Karman, utilizando o método da
bissecção:
% QUESTÃO 5.18
clc
clear
fprintf ('PROBLEMA 5.18\n');
format bank
function f=Fanning(func,xl,xu,varargin)
% func = nome da função
% xl, xu = aproximações inferior e superior
% re = números de reynolds
test = func(xl,varargin{:})*func(xu,varargin{:});
if test>0,error('sem mudança de sinal'),end
for i = 1:11 %limite de iterações vai de 1 a 11 pelo cálculo feito
pela equação 5.6
xr = (xl + xu)/2;
test = func(xl,varargin{:})*func(xr,varargin{:});
if test < 0
xu = xr;
elseif test > 0
xl = xr;
else
break
end
end
f=xr;
PROBLEMA 6.11
Avaliação da convergência do método de Newton-Raphson para a função:
𝑓(𝑥) = 𝑡𝑎𝑔ℎ(𝑥 2 − 9)
𝑡𝑎𝑔ℎ(𝑥𝑖 2 − 9)
𝑥𝑖+1 = 𝑥𝑖 −
2𝑥𝑖 𝑠𝑒𝑐ℎ²(𝑥𝑖 2 − 9)
clc
clear
for i=1:3
x_ant = x;
x = x-tanh(x^2-9)/(2*x*sech(x^2-9)^2);
ea = abs((x - x_ant)/x) * 100 ;
v_x(i+1)=x;
v_ea(i+1)=ea;
end
subplot(1,2,1);plot(0:3,v_x)
title('(a)')
xlabel('iteração')
ylabel('xi')
subplot(1,2,2);plot(0:3,v_ea)
title('(b)')
xlabel('iteração')
ylabel('ea')
Como é possível observar, o método não convergiu para sua raiz real.
PROBLEMA 6.13
PROBLEMA 6.15
PROBLEMA 9.5
PROBLEMA 9.7
PROBLEMA 9.8
PROBLEMA 12.2
PROBLEMA 12.6
PROBLEMA 12.7
PROBLEMA 12.8
PROBLEMA 12.11
PROBLEMA 15.8
PROBLEMA 15.17
PROBLEMA 18.8
PROBLEMA 19.7
PROBLEMA 19.9