Está en la página 1de 3

LENGUAJE EN MATLAB

%Matlab programa del problema


format short g
clear all
clc

Ai=2;
Af=1;
Li=10;
Lm=Li/2;
E=10.6*10^6;
f_v=0.097;
P=100;

%Var "Para "n" elementos"


numelem=4;
%
L=Li/numelem;

for i=1:numelem-1
A_aux(i)=Af+(Ai-Af)*(numelem-i)/numelem;
end

A_var=[Ai A_aux Af];

for i=1:numelem
sec_var(i)=(A_var(i)+A_var(i+1))/2;
end

conectivity=[];

for i=1:numelem
conectivity=[conectivity;i i+1];
end

%K
K=zeros(numelem+1);
for i=1:numelem

K(conectivity(i,:),conectivity(i,:))=K(conectivity(i,:),conectivity(i,:))+(E*sec_var(
i)/L)*[1 -1;-1 1];
end

%f

f=zeros(numelem+1,1);
for i=1:numelem
f(conectivity(i,:))=f(conectivity(i,:))+(sec_var(i)*L*f_v/2)*[1;1];
end

%F

F=zeros(numelem+1,1);

if rem(numelem,2)==1
ele_mid=(numelem+1)/2;
F(ele_mid)=P/2;
F(ele_mid+1)=P/2;
else
ele_mid=1+numelem/2;
F(ele_mid)=P;
end

F_tot=f+F;

%BC
fix=1;
free=setdiff(1:numelem+1,fix);

%Q
Q=zeros(numelem+1,1);
Q(free)=K(free,free)\F_tot(free);

%stress
stress=[];
for i=1:numelem
stress(i)=(E/L)*[-1 1]*Q(conectivity(i,:));
end

%Reaction
R1=(K(1,:)*Q)-F_tot(1);

También podría gustarte