vuoi
o PayPal
tutte le volte che vuoi
Calcolo delle soluzioni per una trave
Trave EBclear all;clear vars;close all;clc;
Dati del problemaE=10000;L=2000;q=1;bb=200;h1=200;h2=180;KK=1000000000;Kf=1000000000;
Definizione di variabili simboliche
syms v1(z) v2(z) v3(z)
Calcolo h
syms a b;
h=a*z+b;
bc1=subs(h,z,0)==h1;
bc2=subs(h,z,2*L)==h2;
eqnsh=[bc1 bc2];
solh=solve(eqnsh,unksh);
h=subs(h,solh)
I=bb*(h^3)/12;
Equazioni differenziali
eq1=E*I*diff(v1,z,4)==q;
eq2=E*I*diff(v2,z,4)==0;
eq3=E*I*diff(v3,z,4)==q;
eq1(z) =eq2(z) =eq3(z) =
Soluzioni
dsol=dsolve(eq1,eq2,eq3);
dsol = struct with fields:
v2: (C2*z^3)/6 + (C5*z^2)/2 + C8*z + C11
v1: C12 + 960000*log(z - 40000) + z*(C9 - 24*log(z - 40000) + 24) +(C1*z^3)/6 + (C6*z^2)/2
v3: C10 + 960000*log(z - 40000) + z*(C7 - 24*log(z - 40000) + 24) +(C3*z^3)/6 + (C4*z^2)/2
Spostamenti
vs1=dsol.v1;
vs2=dsol.v2;
vs3=dsol.v3;
Rotazioni
fs1=-diff(vs1,z);
fs2=-diff(vs2,z);
fs3=-diff(vs3,z);
Curvature
chis1=diff(fs1,z);
chis2=diff(fs2,z);
chis3=diff(fs3,z);
Momento flettente
Ms1=E*I*chis1;
Ms2=E*I*chis2;
Ms3=E*I*chis3;
TaglioTs1=diff(Ms1,z);
Ts2=diff(Ms2,z);
Ts3=diff(Ms3,z);
% Condizioni al contorno
bcA1=subs(vs1,z,0);
bcA2=subs(Ms1,z,0);
bcB1=subs(vs1-vs2,z,L/3);
bcB2=subs(fs1-fs2,z,L/3);
bcB3=subs(Ts1-Ts2,z,L/3);
bcB4=subs(Ms1-Ms2,z,L/3);
bcC1=subs(vs2-vs3,z,L);
bcC2=subs(fs2-fs3,z,L);
bcC3=subs(Ts2-Ts3,z,L);
bcC4=subs(Ms2-Ms3,z,L);
bcD1=subs(fs3,z,2*L);
bcD2=subs(Ts3,z,2*L);
syms C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12
eqns=[bcA1, bcA2, bcB1, bcB2, bcB3, bcB4, bcC1, bcC2 bcC3 bcC4 bcD1 bcD2];
unks=[C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12];
% Soluzione del sistema algebrico lineare
sol=solve(eqns,unks);
% Soluzioni
vss1=subs(vs1, sol);
vss2=subs(vs2, sol);
vss3=subs(vs3, sol);
fss1=subs(fs1, sol);
fss2=subs(fs2, sol);
fss3=subs(fs3, sol);
Mss1=subs(Ms1, sol);
Mss2=subs(Ms2, sol);
Mss3=subs(Ms3, sol);
Tss1=subs(Ts1, sol);
Tss2=subs(Ts2, sol);
Tss3=subs(Ts3, sol);
```html
Plottaggiozv1=linspace(0,L/3,4);
vv1=subs(vss1,z,zv1);
Mv1=subs(Mss1,z,zv1);
Tv1=subs(Tss1,z,zv1);
zv2=linspace(L/3,L,8);
vv2=subs(vss2,z,zv2);
Mv2=subs(Mss2,z,zv2);
Tv2=subs(Tss2,z,zv2);
zv3=linspace(L,2*L,12);
vv3=subs(vss3,z,zv3);
Mv3=subs(Mss3,z,zv3);
figure(1)
hold on;
set(gca,'ydir','reverse');
plot(zv1, vv1);
plot(zv2, vv2);
plot(zv3, vv3);
title('displacement along y');
grid on;
figure(2)
hold on;
set(gca,'ydir','reverse');
plot(zv1, Mv1);
plot(zv2, Mv2);
plot(zv3, Mv3);
title('Bending Moment');
grid on;
figure(3)
hold on;
set(gca,'ydir','reverse');
plot(zv1, Tv1);
plot(zv2, Tv2);
plot(zv3, Tv3);
title('Shear Force');
grid on;
% Metodo variazionale approssimato
nv=10;
syms va(z)
% Vettore incognite
unks=sym('a', [1, nv]);
% Funzione spostamento approssimata
va=poly2sym(unks,z);
% Rotazione
fa=-diff(va,z);
% Curvatura
chia=diff(fa,z);
% Condizioni al contorno
bcA=subs(va,z,0);
bcD=subs(fa,z,2*L);
```Energia interna
```html
ener_int=1/2*E*I*int(chia^2, z, 0, 2*L);
``` Energia dei carichi ```htmlener_car=-int(q*va, z, 0, L/3)-int(q*va, z, L, 2*L);
``` Energia dei vincoli ```htmlener_vin=1/2*KK*(subs(va,z,0))^2+1/2*Kf*(subs(fa,z,2*L))^2;
``` Energia totale ```htmlener_tot=ener_int+ener_car+ener_vin;
``` Stazionarietà ```htmleqns=sym(zeros(nv,1));
for i=1:nv
eqns(i)=diff(ener_tot,unks(i));
end
``` Soluzione approssimata ```htmlsol=solve(eqns,unks);
``` Soluzione approssimata ```htmlvas=eval(subs(va,sol));
var=vpa(vas);
Mas=-E*I*diff(var,z,2);
Tas=diff(Mas,z);
``` Plottaggio ```htmlzva=linspace(0,2*L,24);
vva=subs(var,z,zva);
Mva=subs(Mas,z,zva);
Tva=subs(Tas,z,zva);
figure(4)
hold on;
set(gca,'ydir','reverse');
plot(zv1,vv1,'b-');
plot(zv2,vv2,'b-');
plot(zv3,vv3,'b-');
plot(zva,vva,'r*');
title('Displacement along y');
grid on;
figure(5)
hold on;
set(gca,'ydir','reverse');
plot(zv1,Mv1,'b-');
plot(zv2,Mv2,'b-');
plot(zv3,Mv3,'b-');
plot(zva,Mva,'r*');
title('Bending
```Il testo formattato con i tag HTML è il seguente:
moment');grid on;figure(6)hold on;set(gca,'ydir','reverse');plot(zv1,Tv1,'b-');plot(zv2,Tv2,'b-');plot(zv3,Tv3,'b-');plot(zva,Tva,'r*');title('Shear force');grid on;