Você está na página 1de 4

Algoritmo de diferencias finitas

function [wi, z]= viga(N,W,L,E,I)

for i=1:N
for j=1:N
if (i==j)
a(i,j)=2;
elseif (j==i+1)
a(i,j)=-1;
elseif (i==j+1)
a(i,j)=-1;
else
a(i,j)=0;
end
end
end

h=L/(N+1);
x=0;
for j=1:N
x=x+h;
d(j)=x;
b(j,1)=-(h^2)*W*x*(L-x)/(2*E*I)';
end
fprintf('Las deflexiones son:')
wi=(inv(a)*b)';
z=plot(d,wi);

Algoritmo del Calculo del error

function [error]= analitica(N,W,L,E,I)

h=L/(N+1);
x=0;
fprintf('Calculo del Error')
for j=1:N
x=x+h;
b(j,1)=-(h^2)*W*x*(L-x)/(2*E*I)';
y(j,1)=(W*x*(2*L*x^2-x^3-L^2))/(24*E*I)';
error(j,1)=abs((b(j,1)-y(j,1)))';
end

Você também pode gostar