clc
clear all
format longG
syms x;
n=1000;
tol=1e-8;
%% para descargar 85 gb de 80v claro
v=80;
Gb = exp((x + 150) / (v + 20)) - (1 / sqrt(x^2 + v^2)) + 0.03*x + v
f=Gb-85;
b=ezplot(f,[-100, 100]);
set(b,'color','r');
grid minor
f=inline(f);
a=5;
b=10;
c0=a;
for i=1:n
c=(b*f(a)-a*f(b))/(f(a)-f(b));
err=abs(c-c0);
relerr=err/abs(c);
if tol>abs(f(c))||tol>err||tol>relerr
break
elseif f(c)*f(a)<0
b=c;
else a=c;
end
c0=c;
end
tiempo_a=c
f=-130+(exp((x + 150) / (50 + 20)) - (1 / sqrt(x^2 + 50^2)) + 0.03*x +
50)+(exp((x + 150) / (20 + 20)) - (1 / sqrt(x^2 + 20^2)) + 0.03*x + 20)
b=ezplot(f,[-140, 140]);
set(b,'color','r');
grid minor
f=inline(f);
a=0;
b=10;
c0=a;
for i=1:n
c=(b*f(a)-a*f(b))/(f(a)-f(b));
err=abs(c-c0);
relerr=err/abs(c);
if tol>abs(f(c))||tol>err||tol>relerr
break
elseif f(c)*f(a)<0
b=c;
else a=c;
end
c0=c;
end
tiempo_b=c
f=inline('(exp((x + 150) / (20 + 20)) - (1 / sqrt(x^2 + 20^2)) + 0.03*x +
20)')
Gb_c=f(c);
%% 100 descargados (v, 8.2)
syms v;
f= -100+ exp((8.2 + 150) / (v + 20)) - (1 / sqrt(8.2^2 + v^2)) + 0.03*8.2
+ v
b=ezplot(f,[-110, 110]);
set(b,'color','r');
grid minor
f=inline(f);
a=14;
b=16;
c0=a;
for i=1:n
c=(b*f(a)-a*f(b))/(f(a)-f(b));
err=abs(c-c0);
relerr=err/abs(c);
if tol>abs(f(c))||tol>err||tol>relerr
break
elseif f(c)*f(a)<0
b=c;
else a=c;
end
c0=c;
end
velo_d=c
f=(exp((x + 150) / (80 + 20)) - (1 / sqrt(x^2 + 80^2)) + 0.03*x + 80) -
(exp((x + 150) / (20 + 20)) - (1 / sqrt(x^2 + 20^2)) + 0.03*x + 20)
b=ezplot(f,[-110, 110]);
set(b,'color','r');
grid minor
f=inline(f);
a=15;
b=20;
c0=a;
for i=1:n
c=(b*f(a)-a*f(b))/(f(a)-f(b));
err=abs(c-c0);
relerr=err/abs(c);
if tol>abs(f(c))||tol>err||tol>relerr
break
elseif f(c)*f(a)<0
b=c;
else a=c;
end
c0=c;
end
tiempo_e=c;
% f=(exp((x + 150) / (80 + 20)) - (1 / sqrt(x^2 + 80^2)) + 0.03*x + 80)
f=inline('exp((x + 150) / (80 + 20)) - (1 / sqrt(x^2 + 80^2)) + 0.03*x +
80')
gb_e=f(c)
clc
clear all;
m=1000;
tol=1e-5;
A=[11 3 4 3
-7 11 0 2
2 4 -8 1.2
3 2 4 13]
P=[1
2
3
2]
B=[3
1
1
6]
n=length(B);
for i=1:m
for j=1:n
X(j,1)=(B(j)-A(j,[1:j-1 j+1:n])*P([1:j-1 j+1:end]))/A(j,j);
end
err=norm(X-P);
relerr=err/norm(X);
result(i,:)=[i X' err relerr]
if tol>err||tol>relerr
break;
else P=X;
end
end
result
resultado=[X' err relerr]
clc
clear all
tol=1e-8;
temp=[105 108 157 168 183 218 221 236];
kp=[37.24 51.19 66.07 79.33 34.28 60.96 87.91 13.31];
ki=[2.356 1.667 1.25 1.07 3.04 3.981 0.763 3.129];
kd=[51.96 96.57 85.93 64.76 81.82 68.91 86.3 60.96];
%% kp
x=temp; % VECTOR DE LAS ABSCISAS
y=kp; % VECTOR DE LAS ORDENADAS
n=length(x);
P=zeros(1,n);
for i=1:n
a=x([1:i-1 i+1:n]);
p=[1, -a(1)]; %p=poly(a(1));
for j=2:n-1
p=conv(p,[1,-a(j)]); % p=conv(p, poly(a(j)));
end
P=P+y(i)*p/polyval(p,x(i));
end
f=poly2sym(P);
f=inline(f);
kp1=f(170)
%% ki
x=temp; % VECTOR DE LAS ABSCISAS
y=ki; % VECTOR DE LAS ORDENADAS
n=length(x);
P=zeros(1,n);
for i=1:n
a=x([1:i-1 i+1:n]);
p=[1, -a(1)]; %p=poly(a(1));
for j=2:n-1
p=conv(p,[1,-a(j)]); % p=conv(p, poly(a(j)));
end
P=P+y(i)*p/polyval(p,x(i));
end
f=poly2sym(P);
f=inline(f);
ki1=f(170)
%% hallando el maximo de ki
f=poly2sym(P);
f=diff(f)
b=ezplot(f,[-1000 1000]);
set(b,'colo','r');
grid on;
axis([-60 400 -60 400]);
a=180;
b=200;
f=inline(f);
c0=a;
for i=1:n
c=(b*f(a)-a*f(b))/(f(a)-f(b));
err=abs(c-c0);
relerr=err/abs(c);
if tol>abs(f(c))||tol>err||tol>relerr
break
elseif f(c)*f(a)<0
b=c;
else a=c;
end
c0=c;
end
temp_max=c
f=poly2sym(P);
f=inline(f);
ki_max=f(temp_max)
%% kd
x=temp; % VECTOR DE LAS ABSCISAS
y=kd; % VECTOR DE LAS ORDENADAS
n=length(x);
P=zeros(1,n);
for i=1:n
a=x([1:i-1 i+1:n]);
p=[1, -a(1)]; %p=poly(a(1));
for j=2:n-1
p=conv(p,[1,-a(j)]); % p=conv(p, poly(a(j)));
end
P=P+y(i)*p/polyval(p,x(i));
end
f=poly2sym(P);
f=inline(f);
kd1=f(170)
clc
clear all
tiempo=[7 9 13 17 20];% horas
azucar=[10.3335 19.6179 9.6534 18.7687 9.0973]; %toneladas
alcohol=[13.1269 19.1853 8.7647 17.2081 15.6343]; %litros
x=tiempo; %x vector de abscisas
y=azucar; %y vector de ordenadas
n=length(x);
p=[1 -x(1)]; %p=poly(x(1)); es otra manera de escribir
P=y(1);
for i=2:n
a=(y(i)-polyval(P,x(i)))/polyval(p,x(i));
P=[0,P]+a*p;
p=conv(p,[1 -x(i)]); %p=conv(p,poly(x(i))); es otra manera de
escribir
end
f=poly2sym(P);
f=inline(f);
toneladas_6_5=f(6.5675)
%% minimo ojo analizar la funcion(grafico) donde esta el min, y la
derivada
%meter en el
syms x;
f=poly2sym(P);
b=ezplot(f,[5 25]);
set(b,'color','r');
grid minor
tol=1e-8;
n=100;
a=13;
b=14;
f=diff(f);
f=inline(f);
c0=a;
for i=1:n
c=(b*f(a)-a*f(b))/(f(a)-f(b));
err=abs(c-c0);
relerr=err/abs(c);
if tol>abs(f(c))||tol>err||tol>relerr
break
elseif f(c)*f(a)<0
b=c;
else a=c;
end
c0=c;
end
tiempomin_azu=c
f=poly2sym(P);
f=inline(f);
cantidad_azu=f(tiempomin_azu)
%% alcohol
x=tiempo; %x vector de abscisas
y=alcohol; %y vector de ordenadas
n=length(x);
p=[1 -x(1)]; %p=poly(x(1)); es otra manera de escribir
P=y(1);
for i=2:n
a=(y(i)-polyval(P,x(i)))/polyval(p,x(i));
P=[0,P]+a*p;
p=conv(p,[1 -x(i)]); %p=conv(p,poly(x(i))); es otra manera de
escribir
end
f=poly2sym(P);
f=inline(f);
litros_alcohol=8*f(14.8792)
%% menor tiempo para producir 14
%analizar el grafico cuantas veces produce 14 litros
f=poly2sym(P)-14;
b=ezplot(f,[5 25]);
set(b,'color','r');
grid minor
f=inline(f);
a=7;
b=7.5;
c0=a;
for i=1:n
c=(b*f(a)-a*f(b))/(f(a)-f(b));
err=abs(c-c0);
relerr=err/abs(c);
if tol>abs(f(c))||tol>err||tol>relerr
break
elseif f(c)*f(a)<0
b=c;
else a=c;
end
c0=c;
end
menor_tiempo=c
clc
clear all
format long
m=100
A=[-8 1 1 -1
3 15 2 2
2 -3 10 4
-1 1 1 5]
B=[2
1
1
0];
P=[2 3 1 4]';
tol=1e-8
n=length(B);
for i=1:m
for j=1:n
X(j,1)=(B(j)-A(j,[1:j-1 j+1:n])*P([1:j-1 j+1:end]))/A(j,j);
end
err=norm(X-P);
relerr=err/norm(X);
result(i,:)=[i X' err relerr];
if tol>err||tol>relerr
break;
else P=X;
end
end
result
clc
clear all
format longG
syms t;
tol=1e-8;
d1=69.493722*exp(t-4.268497);
d2=t^(3.779483)+6.672757*t;
d3=4.441342*t^(3.70397);
long=607.690981;
%% item1
f=d3-long;
b=ezplot(f,[0 7]);
set(b,'color','r')
grid on
hold on
f=inline(f);
n=100;
a=3;
b=4;
c0=a;
for i=1:n
c=(b*f(a)-a*f(b))/(f(a)-f(b));
err=abs(c-c0);
relerr=err/abs(c);
if tol>abs(f(c))||tol>err||tol>relerr
break
elseif f(c)*f(a)<0
b=c;
else a=c;
end
c0=c;
end
tiempo_3_meta=c
%% velocidad 2 respecto al tiempo
f=diff(d2);
f=inline(f);
item_1=f(tiempo_3_meta)
%% tiempo movil 3 mitad de trayecto
f=d3-long/2;
b=ezplot(f,[0 7]);
set(b,'color','b')
grid on
hold on
f=inline(f);
n=100;
a=3;
b=3.2;
c0=a;
for i=1:n
c=(b*f(a)-a*f(b))/(f(a)-f(b));
err=abs(c-c0);
relerr=err/abs(c);
if tol>abs(f(c))||tol>err||tol>relerr
break
elseif f(c)*f(a)<0
b=c;
else a=c;
end
c0=c;
end
tiempo_3_mitad=c
%% velocidad 3 respecto al tiempo
f=diff(d3);
f=inline(f);
item_4=f(tiempo_3_mitad)
%% movil 2 meta
f=d2-long;
b=ezplot(f,[0 7]);
set(b,'color','g')
grid on
hold on
f=inline(f);
a=3;
b=3.2;
c0=a;
for i=1:n
c=(b*f(a)-a*f(b))/(f(a)-f(b));
err=abs(c-c0);
relerr=err/abs(c);
if tol>abs(f(c))||tol>err||tol>relerr
break
elseif f(c)*f(a)<0
b=c;
else a=c;
end
c0=c;
end
tiempo_2_meta=c
clc
clear all
format longG
syms t;
dpto1=-(0.5*t-8)^2+84.087735+10*t+exp(-t+2)
dpto2=sqrt(t)+t-10
tol=1e-8;
%% item 1
f=dpto2-27.150371;
b=ezplot(f,[0 4*24])
set(b, 'color', 'r')
grid on
a=30;
b=32;
f=inline(f);
n=100
c0=a;
for i=1:n
c=(b*f(a)-a*f(b))/(f(a)-f(b));
err=abs(c-c0);
relerr=err/abs(c);
if tol>abs(f(c))||tol>err||tol>relerr
break
elseif f(c)*f(a)<0
b=c;
else a=c;
end
c0=c;
end
item_1=c
%% item 2
f=dpto1-56.098666
b=ezplot(f,[0 4*24])
set(b, 'color', 'r')
grid on
a=1.5;
b=2.5;
f=inline(f);
n=100
c0=a;
for i=1:n
c=(b*f(a)-a*f(b))/(f(a)-f(b));
err=abs(c-c0);
relerr=err/abs(c);
if tol>abs(f(c))||tol>err||tol>relerr
break
elseif f(c)*f(a)<0
b=c;
else a=c;
end
c0=c;
end
item_2=c
%% item 3
f=dpto1;
b=ezplot(f,[0 4*24])
set(b, 'color', 'r')
grid on
a=35;
b=37;
f=diff(f);
f=inline(f);
n=100
c0=a;
for i=1:n
c=(b*f(a)-a*f(b))/(f(a)-f(b));
err=abs(c-c0);
relerr=err/abs(c);
if tol>abs(f(c))||tol>err||tol>relerr
break
elseif f(c)*f(a)<0
b=c;
else a=c;
end
c0=c;
end
tiempo_mayor_mov=c
f=dpto1;
f=inline(f);
item_3=f(tiempo_mayor_mov)
%% item 4
f=dpto1-dpto2;
b=ezplot(f,[0 4*24])
set(b, 'color', 'r')
grid on
a=68;
b=70;
f=inline(f);
n=100
c0=a;
for i=1:n
c=(b*f(a)-a*f(b))/(f(a)-f(b));
err=abs(c-c0);
relerr=err/abs(c);
if tol>abs(f(c))||tol>err||tol>relerr
break
elseif f(c)*f(a)<0
b=c;
else a=c;
end
c0=c;
end
item4=c
%% item 5
f=dpto1+dpto2-99.786806
b=ezplot(f,[0 4*24])
set(b, 'color', 'r')
grid on
a=70;
b=73;
f=inline(f);
n=100
c0=a;
for i=1:n
c=(b*f(a)-a*f(b))/(f(a)-f(b));
err=abs(c-c0);
relerr=err/abs(c);
if tol>abs(f(c))||tol>err||tol>relerr
break
elseif f(c)*f(a)<0
b=c;
else a=c;
end
c0=c;
end
item_5=c
clc
clear all
format longG
tiempo=[1.2 1.82 3.24 4.68 6.26 6.88]
temp=[-0.450000 0.505041 0.69000 -0.630000 -0.550000 0.660000]
def=[0.60000 0.327464 1.320000 1.20000 0.840000 0.730000]
tol=1e-8;
syms x;
fuerza=x^2+exp(x)+5*x-1 % mm y kN
% cuando la temperatura aumenta de 0 grados, hay deformacion y por
% consecuente una Fuerza
%% item 1 instante cuando el regulador se desactiva es cuando la
temperatura vuelve a 0 grados
% graficamos la temperatura en funcion al tiempo (armando la funcion con
lagrange) para ver como se comporta
% durante 0 10 horas
x=tiempo; % VECTOR DE LAS ABSCISAS
y=temp; % VECTOR DE LAS ORDENADAS
n=length(x);
P=zeros(1,n);
for i=1:n
a=x([1:i-1 i+1:n]);
p=[1, -a(1)]; %p=poly(a(1));
for j=2:n-1
p=conv(p,[1,-a(j)]); % p=conv(p, poly(a(j)));
end
P=P+y(i)*p/polyval(p,x(i));
end
f=poly2sym(P);
b=ezplot(f,[0 10]);
set(b,'color','r');
grid on
% se descativa entre 1 y 2 horas
a=1;
b=2;
n=100;
f=inline(f);
c0=a;
for i=1:n
c=(b*f(a)-a*f(b))/(f(a)-f(b));
err=abs(c-c0);
relerr=err/abs(c);
if tol>abs(f(c))||tol>err||tol>relerr
break
elseif f(c)*f(a)<0
b=c;
else a=c;
end
c0=c;
end
item_1=c
%% ITEM 2 armar la funcion deformacion en funcion del tiempo
% luego evaluar en el tiempo 2.875372
% luego al tener la deformacion evaluar la fuerza [kN]
x=tiempo; % VECTOR DE LAS ABSCISAS
y=def; % VECTOR DE LAS ORDENADAS
n=length(x);
P=zeros(1,n);
for i=1:n
a=x([1:i-1 i+1:n]);
p=[1, -a(1)]; %p=poly(a(1));
for j=2:n-1
p=conv(p,[1,-a(j)]); % p=conv(p, poly(a(j)));
end
P=P+y(i)*p/polyval(p,x(i));
end
f=poly2sym(P);
f=inline(f);
deformacion2=f(2.875372)
% evaluamos en fuerza
syms x;
f=x^2+exp(x)+5*x-1;
f=inline(f)
item2_fuerza=f(deformacion2)
%% ITEM 3 SEGUNDO PARCIAL
f=poly2sym(P);
f=inline(f);
item4_deformacion4=f(5.001151)
%% ITEM 5 F DE 3.284092 kN
syms x;
f=x^2+exp(x)+5*x-1-3.284092;
b=ezplot(f,[-1 1]); % graficamos de 0 a 1.5 mm
set(b,'color','b');
grid on
a=0;
b=0.5;
n=100;
f=inline(f);
c0=a;
for i=1:n
c=(b*f(a)-a*f(b))/(f(a)-f(b));
err=abs(c-c0);
relerr=err/abs(c);
if tol>abs(f(c))||tol>err||tol>relerr
break
elseif f(c)*f(a)<0
b=c;
else a=c;
end
c0=c;
end
item_5=c
clc
clear all
format long G
syms Q
maq1=exp(Q)+Q;
maq2=(Q^2)-1/Q;
maq3=(2^Q)+3;
f=(maq1+maq2+maq3)*Q-339;
b=ezplot(f,[0 4]);
set(b,'color','r');
grid on
f=inline(f);
tol=1e-8;
n=100;
a=3.5;
b=4;
c0=a;
for i=1:n
c=(a+b)/2;
err=abs(c-c0);
relerr=err/abs(c);
if tol>abs(f(c))||tol>err||tol>relerr
break
elseif f(c)*f(a)<0
b=c;
else a=c;
end
c0=c;
end
c
clc
clear all
format long G
syms x;
f=(x^2)-3/x-7; %funcion
b=ezplot(f,[-20 20]);
set(b,'color','r');
grid on
%% al grafiar la menor solucion es negativo, entonces g(x)=+-sqrt y
usamos la raiz negativa
f=inline(f);
g=-sqrt(3/x+7);
p0=-2; %valor inicial
n=100; % numero maximo de iteraciones
tol=1e-8; % tolerencia
g=inline(g);
for i=1:n
p=g(p0);
err=abs(p-p0);
relerr=err/abs(p);
if err<tol||relerr<tol|| tol>abs(f(p))
break;
else p0=p;
end
end
p