O Código Matlab
Por: Lucas G. S. Alencar • 14/4/2021 • Trabalho acadêmico • 404 Palavras (2 Páginas) • 128 Visualizações
% Programa para barra com n elementos
clc; clear all; close all;
%numero de elementos
num = 10;
%matriz de coordenadas
coord( :,1) = 1:(num+1); coord( :,2) = 0:(num); coord( :,3)=zeros(num+1,1);
%propriedades
E=4000; A=1;
%matriz de incidência;
incid( :,1) = 1:num; incid( :,2)=1; incid( :,3)=1;incid( :,4) = 1:num; incid( :,5)=incid( :,4)+1;
%tabmat tabgeo
% % % % TABMAT = E*ones(1,num); TABGEO = A*ones(1,num);
%contorno
TABMAT = [E]; TABGEO=[A];
BC=[1 1 0];
loads = [(num+1) 1 4];
nel = size(incid,1);
nnos = size(coord,1);
gdl = 1; ngdl = 1* nnos;
ID = ones(ngdl,nnos);
nbc = size(BC,1);
for j = 1:nbc
ID(BC(j,2),BC(j,1)) = BC(j,3);
end
neq=0;
for i= 1:nnos
for j = 1:gdl
if ID(j,i)==1
neq = neq +1;
ID(j,i)=neq;
end
end
end
Kg = zeros(neq,neq);
for i = 1:nel
Ke = zeros(2,2);
Loc = zeros(1,2);
no1 = incid(i,4); no2 = incid(i,5);
x1 = coord(no1,2); x2 = coord(no2,2);
Le = x2 - x1;
mat = incid(i,2); geo = incid(i,3);
E = TABMAT(1,mat);
A = TABGEO(1,geo);
Ke = (E*A/Le)*[1 -1
-1 1];
Loc = [ID(1,no1) ID(1, no2)];
for j = 1:2
if Loc(j) ~= 0
for k = 1:2
if Loc(k) ~= 0
Kg(Loc(j), Loc(k))=Kg(Loc(j),Loc(k))+Ke(j,k);
else
end
end
else
...