Documentos de Académico
Documentos de Profesional
Documentos de Cultura
dfunc=@(m) 1/2*sqrt(9.81/(m*0.25))*tanh((9.81*0.25/m)^(1/2)*4)-
9.81/(2*m)*sech(sqrt(9.81*0.25/m)*4)^2;
%% Iniciando variables
es = 0.001; %Tolerancia
ea = 100;
iter = 0;
disp(' k xi ea(%)')
while (1)
xrold = xr;
xr = xr-func(xr)/dfunc(xr);
fprintf('%3i%11.2f\t%11.6f\n',iter,xr,ea)
iter = iter + 1;
if xr ~= 0
ea = abs((xr-xrold)/xr)*100;
end
break;
end
end
root = xr;
METODO DE PUNTO FIJO PARA F(X) = X – 2-X = 0
%% Implementacion del metodo de punto fijo
g = @(x)(2.^(-x));
x=[0:0.5:2];
g1=g(x);
plot(x,g1)
f=@(x)x;
f1=f(x);
hold on
plot(x,f1)
grid on
%% Iniciando variables
es = 0.00001; %Tolerancia
iter = 0;
ea = 100;
disp(' k xi ea(%)')
while (1)
xrold = xr;
xr = g(xrold);
fprintf('%3i%11.4f\t%11.6f\n',iter,xr,ea)
iter = iter + 1;
if xr ~= 0
ea = abs((xr-xrold)/xr) * 100;
end
break;
end
end
root = xr
g(root)-xr
RAICES EN [3,6] PARA COS(10X) + SEN (3X) = 0 ( FALSA POSICION O BISECCION)
%% Definiendo la funcion
x=[3:0.01:6];
f1=func(x);
plot(x,f1)
grid on;
%%
xmin = 3;
xmax = 6;
%% Busqueda Incremental
x = linspace(xmin,xmax,ns);
f = func(x);
for k = 1:length(x)-1
nb = nb + 1;
xb(nb,1) = x(k);
xb(nb,2) = x(k+1);
end
end
else
disp(nb)
[m,n]=size(xb);
disp(' k xl xu')
for i=1:m
fprintf('%3i%11.2f\t%11.6f\n',i, xb(i,1),xb(i,2));
end
end
GRAFICANDO EL SALTO DE CAIDA LIBRE
cd = 0.25;
g = 9.81;
v = 36;
t = 4;
%% Graficando
mp = linspace(50,200);
fp = sqrt(g*mp/cd).*tanh(sqrt(g*cd./mp)*t)-v;
plot(mp,fp),grid
ABRIENDO FUNCION
function M = fm(m)
M=sqrt(9.81*m/0.25)*tanh(sqrt(9.81*0.25/m)*4)-36;
End
INSEARCH
function xb = incsearch(func,xmin,xmax,ns)
% xb = incsearch(func,xmin,xmax,ns):
% of a function on an interval
% input:
% output:
% Incremental search
x = linspace(xmin,xmax,ns);
f = func(x);
for k = 1:length(x)-1
nb = nb + 1;
xb(nb,1) = x(k);
xb(nb,2) = x(k+1);
end
end
else
disp(nb)
end
METODO FALSO POSICION
c = zeros(1,kmax); % Pre-allocate
if f(a)*f(b) > 0
r = 'failure';
return;
end
disp(' k a b')
for k = 1:kmax,
return;
end
fprintf('%2i %11.6f%11.6f\n',k,a,b)
else a = c(k);
end
r = c(k+1);
return
end
end
METODO DE LA BISECTRIZ PARA SALTADOR
cd = 0.25;
g = 9.81;
v = 36;
t = 4;
% fm = @(mp) sqrt(g*mp/cd).*tanh(sqrt(g*cd./mp)*t)-v;
es = 0.01; %Tolerancia
iter = 0;
xr = xl;
ea = 100;
% %% Bucle
% while (1)
% xrold = xr;
% xr = (xl + xu)/2;
% fprintf('%3i %11.2f%11.2f%11.2f%11.6f\n',iter,xl,xu,xr,ea)
% iter = iter + 1;
% if xr ~= 0
% ea = abs((xr-xrold)/xr) * 100;
% end
% test = fm(xl)*fm(xr);
% if test < 0
% xu = xr;
% xl = xr;
% else
% ea = 0;
% end
% break;
% end
% end
% root = xr;
%fm(root)
FUNCION BISECT
function [root,fx,ea,iter]=bisect(func,xl,xu,es,maxit,varargin)
% [root,fx,ea,iter]=bisect(func,xl,xu,es,maxit,p1,p2,...):
% input:
% output:
if nargin<3
end
test = func(xl,varargin{:})*func(xu,varargin{:});
if test>0
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)
xrold = xr;
xr = (xl + xu)/2;
iter = iter + 1;
if xr ~= 0
ea = abs((xr-xrold)/xr) * 100;
end
test = func(xl,varargin{:})*func(xr,varargin{:});
if test < 0
xu = xr;
xl = xr;
else
ea = 0;
end
break;
end
end