Академический Документы
Профессиональный Документы
Культура Документы
Xi Yi
0.15 4.4964
0.40 5.1284
0.60 5.6931
1.01 6.2884
1.5 7.0989
2.2 7.5507
2.4 7.5106
2.7 8.0756
2.9 7.8708
3.5 8.2403
3.8 8.5303
4.4 8.7394
4.6 8.9981
5.1 9.1450
6.6 9.5070
7.6 9.9115
Se ajusta a la función 𝑦 = 𝑏𝑥 𝑎 .
El algoritmo es:
function mcuadrado5
n=str2num(char(inputdlg('ingrese el numero de datos\n')));
x=[];
y=[];
for i=1:n
x(1,i)=str2num(char(inputdlg('ingrese los valores de x:')));
end
for j=1:n
y(1,j)=str2num(char(inputdlg('ingrese los valores de y:')));
end
x=log(x);
y=log(y);
xy=sum(x.*y);
x2=sum(x.^2);
sx=sum(x);
sy=sum(y);
m=(sy/n);
a=(n*xy-sx*sy)/(n*x2-(sx^2));
b=(sy*x2-xy*sx)/(n*x2-(sx^2));
x_=linspace(min(x),max(x),100);
y_=a*(x_)+b;
x0=exp(x_);
y0=(log(b)*(x0.^a));
subplot(1,2,1),plot(x_,y_,'g'),xlabel('ln(x)'),ylabel('ln(y)');axis
square
subplot(1,2,2),plot(x0,y0,'b'),xlabel('x'),ylabel('y'),title(strcat('L
a ecuación linealizada es ','
y=',num2str(exp(b)),strcat('x.^'),num2str(a)));axis square
2. Si una población tiene un crecimiento logístico y no puede superar la cantidad de 1000 individuos
entonces el número P de individuos t viene dado por:
1000
𝑃 𝑡 = . Aproximar mediante el método de mínimos cuadrados con linealización con valores C y
1+𝐶𝑒 𝐴𝑡
A para los siguientes datos
Xi 0 1 2 3 4
Yi 200 400 650 850 950
El algoritmo es el siguiente:
function mcuadrado5
n=str2num(char(inputdlg('ingrese el numero de datos\n')));
t=[];
p=[];
for i=1:n
t(1,i)=str2num(char(inputdlg('ingrese los valores de t:')));
end
for j=1:n
p(1,j)=str2num(char(inputdlg('ingrese los valores de p:')));
end
p=log(1000*(p.^-1)-1);
tp=sum(t.*p);
t2=sum(t.^2);
st=sum(t);
sp=sum(p);
m=(sp/n);
a=(n*tp-st*sp)/(n*t2-(st^2))
b=(sp*t2-tp*st)/(n*t2-(st^2));
c=exp(b)
t_=linspace(min(t),max(t),100);
p_=a*(t_)+b;
p0=1000*((1+(exp(b+a*t_))).^-1);
subplot(1,2,1),plot(t_,p_,'g'),xlabel('t'),ylabel('ln(1000/p-1)');axis
square
subplot(1,2,2),plot(t_,p0,'b'),xlabel('x'),ylabel('y'),title(strcat('a
=',num2str(exp(a)),' y ',' c=',num2str(c)));axis square
X 1.70 1.68 1.86 1.60 1.68 1.55 1.62 1.68 1.70 1.65 1.82 1.56
Y 72 65 82 58 63 65 58 70 69 62 76 60
El algoritmo es:
function mcuadrado5
n=str2num(char(inputdlg('ingrese el numero de datos\n')));
x=[];
y=[];
for i=1:n
x(1,i)=str2num(char(inputdlg('ingrese los valores de x:')));
end
for j=1:n
y(1,j)=str2num(char(inputdlg('ingrese los valores de y:')));
end
xy=sum(x.*y);
x2=sum(x.^2);
sx=sum(x);
sy=sum(y);
m=(sy/n);
a=(n*xy-sx*sy)/(n*x2-(sx^2));
b=(sy*x2-xy*sx)/(n*x2-(sx^2));
r=sqrt(1-(sum((y-(a*x+b)).^2))/(sum((y-m).^2)));
sxy=sqrt(((sum(y.^2-b))*(sum(y-a))*(xy))/n);
x_=linspace(min(x),max(x),100);
y_=a*(x_)+b;
yp=strcat('y=',num2str(a),strcat('x'),'+',num2str(b));
fprintf('La linea de regresión es: %s\n',yp);
fprintf('El coeficiente de correlación es: %f\n',r);
y1=a*1.75+b;
fprintf('El peso estimado para alumnos de 1.75m es: %f\n',y1);
fprintf('El error standar es: %f\n',sxy);
subplot(1,2,1),plot(x,y,'g*'),title('NUBE DE PUNTOS');axis square
subplot(1,2,2),plot(x_,y_,'b'),title(strcat('
y=',num2str(a),strcat('x'),'+',num2str(b)));axis square
4. Hallar la curva que describe mejor la nube de datos:
X 10 20 30 40 50 60 70 80
Y 30 36 40 48 50 54 66 88
5. Definición: Sean u,v vectores tal que m=length(u), n=length(v) entonces w=conv(u,v) es un vector de
m+n-1 elementos cuyo K-ésimo elemento es 𝑤 = 𝑗 𝑢 𝑗 . 𝑣(𝑘 + 1 − 𝑗), j= max(1, k+1-n): min(k, m).
6. Sin escribir en el comando window del Matlab help conv obtenga la definición dado en (1).
Nos da como resultado un polinomio lineal de de raíz igual al número de la posición indicada x(n).
9. Escribir el programa para hallar los coeficientes del polinomio de Lagrange siguiente:
function polylagran
x= input(“ingresa el vector de las abscisas x=\n”);
y= input(‘ingresa el vector de las abscisas x=\n’);
w=length(x);
n=w-1;
l=zeros(w,w)
for k=1:n+1
v=1;
for j=1,n+1
if k~=j
v=conv(v,pol(x(j)))/(x(k)-x(j))
end
end
l(k,:)=v;
end
C=y*L
%C es el coeficiente del polinomio de lagrange de grado
%n ordenado decrecientemente
Xi 0 1 2 3 4 5
Yi 0 20 60 68 77 110
El algoritmo general es:
function lagran
x=input('ingresa el vector de las abscisas x=\n');
y=input('ingresa el vector de las ordenadas x=\n');
n=length(x);
f0=[1];
f=1;
for i=1:n
f0(1,2)=-x(i);
f=conv(f,f0);
end
c=[];
e=zeros(1,n);
for i=1:n
a=x(i);
b=1;
for j=1:n
if j~=i
b=(a-x(j))*b;
end
end
c(1,i)=b;
end
g=[1];
for k=1:n
g(1,2)=-x(k);
e=(deconv(f,g))/(c(k))*y(k)+e;
g=[1];
end
fprintf('El polinomio de grado %d de es\n',n-1)
e
x_=linspace(1,30,300);
y_=[];
y0=[];
for m=1:n
y0(1,m)=polyval(e,x(m));
end
for l=1:300
y_(1,l)=polyval(e,x_(l));
end
r=sqrt(1-(sum((y-(y0)).^2))/(sum((y-(sum(y)/n)).^2)));
fprintf('El coeficiente de correlación es %d\n',r)
plot(x_,y_,'b'),title(strcat('La grafica del polinomio de
grado','',num2str(n-1),' es ='));axis square
11. Sea f(x)= 𝑒 𝑥 . Calcular el polinomio de grado 1, con nodos x=0, x= 0.5. Manualmente y luego calcule
usando el programa interprete como funciona el programa.
Xi 0 0.5
Yi 1 1.648721
Forma manual:
𝑌 = 1.297442 ∗ 𝑥 + 1
12. Sea f(x)=𝑒 𝑥 ,
a. Hallar el polinomio de lagrange de grado 1, con nodos x= 0, x= 0,5 y aproxime f(0.25) usando este
polinomio.
Xi 0 0.5
Yi 1 1.648721
b. Hallar el polinomio de lagrange de grado 1, con nodos x= 0, x= 1, x= 2 y aproxime f(0.25) usando este
polinomio.
Xi 0 1 2
Yi 1 2,71828183 7,3890561
c. ¿Cuál polinomio es mejor aproximado para f(0.25)?
El algoritmo …
La grafica es …