Вы находитесь на странице: 1из 8

INTRODUCCIÓN A LOS MÉTODOS COMPUTACIONALES (CI171)

PRÁCTICA CALIFICADA N° 2
Ciclo 2019-01
Sección: CX62
Profesor: Lizbeth Cuba Samaniego
Tiempo de duración: 110 minutos

Nombre y apellido: LUIGI MATEO QUISPE


Indicaciones:
1. No está permitido el uso de ningún material de consulta (cuaderno, diccionario, lecturas, etc.).
2. Está permitido el uso del software Matlab
3. No se permite el uso de teléfono celular o cualquier otro aparato electrónico durante el examen, los cuales
deben permanecer apagados y guardados

PREGUNTA 1: S.E.L [8pts]

Un problema importante en la ingeniería estructural es


encontrar las fuerzas y reacciones asociadas con una
armadura estáticamente determinada.

Diseñe una interfaz –GUIDE para cualquier tipo de


carga que es aplicada a la armadura.
Use la descomposición LU con el propósito de obtener
las fuerzas.

Matriz

function LUIGI_OpeningFcn(hObject, eventdata, handles,


varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see
GUIDATA)
% varargin command line arguments to LUIGI (see VARARGIN)
scrsz=get(0,'screensize');
pa=get(gcf,'position');
xr=scrsz(3)-pa(3);
xp=round(xr/2);
yr=scrsz(4)-pa(4);
yp=round(yr/2);
set(gcf,'position',[xp yp pa(3) pa(4)]);

ima=imread('armadura.jpg');
axes(handles.axes1);
imshow(ima);

San Isidro, 22 de Junio de 2019 1


Código Matlab

function pushbutton1_Callback(hObject, eventdata, handles)

FX1=str2double(get(handles.edit1,'string'));
FY1=str2double(get(handles.edit2,'string'));
mtz=zeros(10);
mtz(1,1)=1;
mtz(1,5)=cos(pi/4);
mtz(1,7)=-cos(pi/4);
mtz(2,5)=-sin(pi/4);
mtz(2,7)=-sin(pi/4);
mtz(3,1)=-1;
mtz(3,2)=cos(pi/6);
mtz(3,4)=-cos(pi/3);
mtz(4,2)=-sin(pi/6);
mtz(4,4)=-sin(pi/3);
mtz(5,2)=-cos(pi/6);
mtz(5,3)=-1;
mtz(6,2)=sin(pi/6);
mtz(6,8)=1;
mtz(7,3)=1;
mtz(7,4)=cos(pi/3);
mtz(7,5)=-cos(pi/4);
mtz(7,6)=-1;
mtz(8,4)=sin(pi/3);
mtz(8,5)=sin(pi/4);
mtz(9,6)=1;
mtz(9,7)=cos(pi/4);
mtz(9,10)=1;
mtz(10,7)=sin(pi/4);
mtz(10,9)=1;
rstl=zeros(10,1);
rstl(2,1)=500;
rstl(3,1)=1000;

[m n]=size(mtz);
celda=cell(n,n);
celda(:,:)={''};
set(handles.uitable2,'Data',celda);
set(handles.uitable2,'ColumnEditable',true(1,n));
set(handles.uitable2,'Data',mtz);
set(handles.uitable2,'visible','on');

[m n]=size(mtz);
celda=cell(n,n);
celda(:,:)={''};
set(handles.uitable3,'Data',celda);
set(handles.uitable3,'ColumnEditable',true(1,n));
set(handles.uitable3,'Data',rstl);
set(handles.uitable3,'visible','on');

respuesta=mtz\rstl;
[m n]=size(mtz);
celda=cell(n,n);
celda(:,:)={''};
set(handles.uitable4,'Data',celda);
set(handles.uitable4,'ColumnEditable',true(1,n));
set(handles.uitable4,'Data',respuesta);
set(handles.uitable4,'visible','on');

San Isidro, 22 de Junio de 2019 2


San Isidro, 22 de Junio de 2019 3
PREGUNTA 2: AJUSTE DE DATOS/INTERPOLACION [6 puntos]

Haga una gráfica de los datos siguientes con


a) Realizar un ajuste de datos de un polinomio de 2,3 4, 5, 6 con su respectivo R, titulo,
diferente color y utilizando el comando for.
b) Usar los subplot para los gráficos que deben ser comparadas con la función que se utilizó.

x 0 0.05 0.15 0.25 0.35 0.475 0.6

f(x) 2 1.8555 1.5970 1.3746 1.1831 0.9808 0.8131

En cada caso, compare la gráfica con la ecuación siguiente, la cual se utilizó para generar los
datos 𝑓(𝑥) = 2𝑒 −1.5𝑥

San Isidro, 22 de Junio de 2019 4


a) Código-Matlab-Gráficos

x=[0 0.05 0.15 0.25 0.35 0.475 0.6];


y=[2 1.8555 1.5970 1.3746 1.1831 0.9808 0.8131];

for n=2:6
subplot(3,3,n-1)
p=polyfit(x,y,n);
ycalc=polyval(p,x);
x1=linspace(x(1),x(7),100);
ycalc1=polyval(p,x1);
nelem=length(y);
yp=sum(y)/nelem;
N=sum((ycalc-yp).^2);
D=sum((y-yp).^2);
r=N/D;
plot(x,y,'ro',x1,ycalc1,'lineWidth',3);
title(sprintf('Grado del polinomio %d',n));
xlabel(sprintf('R= %7.7f',r));
end

San Isidro, 22 de Junio de 2019 5


PREGUNTA 3: Integración Numérica [6pts]

La función 𝑓(𝑥) = 2𝑒 −1.5𝑥 se puede utilizar para generar la tabla siguiente de datos espaciados
en forma desigual:

x 0 0.05 0.15 0.25 0.35 0.475 0.6


f(x) 2 1.8555 1.5970 1.3746 1.1831 0.9808 0.8131

a) Use la regla del trapecio


b) La mejor combinación de trapecio y de Simpson
c) Calcular el error relativo porcentual.

Código-Matlab

a) Use la regla del trapecio

function calcular_Callback(hObject, eventdata, handles)


% hObject handle to calcular (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
a=str2num(get(handles.edit2,'string'));
b=str2num(get(handles.edit3,'string'));
n=str2num(get(handles.edit4,'string'));
f=get(handles.edit1,'string');
f=inline(f)

h=(b-a)/n;
s=0;
hold on
for i=1:n
s=s+h*(f(a+(i-1)*h)+f(a+(i)*h))/2;
end
x1=linspace(a,b,n);
x2=linspace(a,b,100);
y1=f(x1);
y2=f(x2);
bar(x1,y1)
xlabel('Eje X')
ylabel('Eje y')
title('trapecio Multiple','color','b')
axes(handles.axes1)
plot(x2,y2,'red','lineWidth',3)
grid on
set(handles.edit5,'string',s)

function borrar_Callback(hObject, eventdata, handles)


% hObject handle to borrar (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
limpiar=''
set(handles.edit1,'string',limpiar)
set(handles.edit2,'string',limpiar)
set(handles.edit3,'string',limpiar)
set(handles.edit4,'string',limpiar)
set(handles.edit5,'string',limpiar)
cla(handles.axes1,'reset',limpiar)

San Isidro, 22 de Junio de 2019 6


a) La mejor combinación de trapecio y de Simpson

x=[0 0.05 0.15 0.25 0.35 0.475 0.6];


y=[2 1.8555 1.5970 1.3746 1.1831 0.9808 0.8131];
stem (x,y)
hold on
plot(x,y)
%T. Simple
n1=1;
h1=x(2)-x(1)/n1;
s1=h1*(y(2)+y(1))/2;
fprintf('area trapecio es: %7.7f\n\n',s1);
%SIMPSON 3/8
n2=3;
h2=(x(5)-x(2))/n2;
s2=3*h2*(y(2)+3*y(3)+3*y(4)+y(5))/8;
fprintf('area simpson 3/8 es: %7.7f\n\n',s2);
%simpson 1/3 simple
n3=2;
h3=(x(7)-x(5))/n3;
s3=h3*(y(5)+4*y(6)+y(7))/3;
fprintf('area simpson 1/3 es: %7.7f\n\n',s3);
stotal=s1+s2+s3;
fprintf('area total es: %7.7f\n\n',stotal);

San Isidro, 22 de Junio de 2019 7


a) Calcular el error relativo porcentual.

𝑒𝑟𝑟𝑜𝑟 = (0.792723 − 0.7912817) ∗ 100 = 0.14413%

San Isidro, 22 de Junio de 2019 8

Вам также может понравиться