12. laborgyakorlat, házik megoldásai
Contents
clear all, close all
1. feladat
L=1.5;
g=9.80665;
f=@(t,teta)[teta(2);-g/L*sin(teta(1))];
[t,teta]=ode45(f,[0,5],[1,0]);
plot(t,teta(:,1))
kiteres=@(ido)interp1(t,teta(:,1),ido);
lengesido=fzero(kiteres,3.5)-fzero(kiteres,0.5);
disp(['A lengésidő ',num2str(lengesido),' másodperc.'])
lengesido_keplet=2*pi*sqrt(L/g);
disp(['A képlet ',num2str(lengesido_keplet),' másodpercet ad.'])
A lengésidő 2.6191 másodperc.
A képlet 2.4573 másodpercet ad.
2. feladat
c=0.2028;
m=80;
L=500;
g=9.80665;
f=@(t,y)[y(2);g-c/m*y(2).^2];
[t,y]=ode45(f,[0,15],[0,0]);
plot(t,y(:,1))
ido=interp1(y(:,1),t,500);
disp(['Az 500m-es zuhanáshoz szükséges idő: ',num2str(ido),' másodperc.'])
Az 500m-es zuhanáshoz szükséges idő: 12.3054 másodperc.
3. feladat
L=30;
E=1.3e8;
I=0.05;
F=@(z)200*z/(5+z)*exp(-2*z/30);
f=@(z,y)[y(2);F(z)/2/E/I*(L-z).^2];
[z,y]=ode45(f,[0,L],[0,0]);
plot(y(:,1),z)
axis equal