* B3
NUMERICAL - GRAPHICAL SOLUTIONS OF THE
NON-LINEAR VIBRATION MODEL
with discrete data input
by CO.H . TRAN
University of Natural Sciences,
HCMC Vietnam
Abstract : The system of non-linear differential quations with discrete input function is solved by Runge-Kutta method .
Subjects: Vibration Mechanics , The Differential equations .
NOTE: This worksheet demonstrates Maple's capabilities in the design and finding the numerical solution of the non-linear vibration system .
LOI GIAI SO VA DO THI CUA MAU
DAO DONG PHI TUYEN
voi so lieu roi rac
TRAN HONG CO
Dai hoc Khoa hoc tu nhien
tp HCM Vietnam
> | restart: eq1:=(m1+m2)*Diff(y,t$2)*l*cos(phi)+(m1*l^2+J)*Diff(phi,t$2)+m1*g*l*cos(phi)=f(t);eq2:=(m1+m2)*Diff(y,t$2)+m1*l*cos(phi)*Diff(phi,t$2)-m1*l*Diff(phi,t)^2*cos(phi)+b*Diff(y,t)+c1*y+c3*y^3 =h(t); |
(1.1) |
(1.1) |
> | with(plots): readlib(spline): with(inttrans): |
Warning, the name changecoords has been redefined |
> | eq1:=(m1+m2)*Diff(y,t$2)*l*cos(phi)+(m1*l^2+J)*Diff(phi,t$2)+m1*g*l*cos(phi)=f(t);eq2:=(m1+m2)*Diff(y,t$2)+m1*l*cos(phi)*Diff(phi,t$2)-m1*l*Diff(phi,t)^2*cos(phi)+b*Diff(y,t)+c1*y+c3*y^3 =h(t); |
(2.1) |
(2.1) |
> | datax1:=[0,0.5,1,1.5,2,2.5,3,3.5,4]; datay1:=[0.2,0.5,0.7,0.4,0.65,1.2,2.4,0.9,1.1]; pldataf:= zip((x,y)->[x,y], datax1, datay1): dataplot1 := pointplot(pldataf, symbol=diamond); |
(2.2) |
(2.2) |
(2.2) |
> | Ft:=spline(datax1, datay1, w, cubic); |
(2.3) |
> | dothif:=plot(Ft, w=0..5, color=red): display(dataplot1,dothif, axes=frame); |
> | fnum:=subs(w=t,Ft);eq1:=subs(f(t)=fnum,eq1); |
(2.4) |
(2.4) |
> | datax2:=[0,0.5,1,1.5,2,2.5,3,3.5,4]; datay2:=[0.3,0.5,0.58,0.4,0.85,1.2,1.4,0.9,1.55]; Ht := zip((x,y)->[x,y], datax2, datay2): dataplot2 := pointplot(Ht, symbol=cross); |
(2.5) |
(2.5) |
(2.5) |
> | Ht:=spline(datax2, datay2, w, cubic); |
(2.6) |
> | dothih:=plot(Ht, w=0..5, color=blue): display(dataplot2,dothih, axes=frame); |
> | h1:=subs(w=t,Ht);eq2:=subs(h(t)=h1,eq2); |
(2.7) |
(2.7) |
> | T:=5;m1:=1; m2:=1; b:=5; c1:= 1;c3:=1 ; l:= 0.05 ; J:= 0.5 ; g:=9.8;n:=2; |
> | with(DEtools):with(plots): alias(y=y(t), phi=phi(t), y0=y(0),p0=phi(0), yp0=D(y)(0),pp0=D(phi)(0)); eq1 := .10*Diff(y,`$`(t,2))*cos(phi)+.5025*Diff(phi,`$`(t,2))+.490*cos(phi) = PIECEWISE([.2000000000+.559628129599999968*t+.161487481600000010*t^3, t < .5],[.1596281296+.680743740799999997*t+.242231222385861644*(t-.5)^2-1.60743740800000001*(t-.5)^3, t < 1],[.9826030927-.282603092700000002*t-2.16892488954344652*(t-1)^2+3.06826215099999988*(t-1)^3, t < 1.5],[.6254970546-.150331369699999995*t+2.43346833578792321*(t-1.5)^2-2.26561119299999980*(t-1.5)^3, t < 2],[-.5178571430+.583928571299999977*t-.964948453608247214*(t-2)^2+3.99418262299999994*(t-2)^3, t < 2.5],[-5.336542708+2.61461708300000017*t+5.02632547864506574*(t-2.5)^2-10.9111192900000002*(t-2.5)^3, t < 3],[4.027190721-.542396906999999984*t-11.3403534609720165*(t-3)^2+12.8502945499999992*(t-3)^3, t < 3.5],[8.757603092-2.24502945500000006*t+7.93508836524300420*(t-3.5)^2-5.29005890999999994*(t-3.5)^3, otherwise]); eq2 := 2*Diff(y,`$`(t,2))+.5e-1*cos(phi)*Diff(phi,`$`(t,2))-.5e-1*Diff(phi,t)^2*cos(phi)+5*Diff(y,t)+y+y^3 = PIECEWISE([.3000000000+.401389911599999982*t-.555964654000000014e-2*t^3, t < .5],[.3013899116+.397220176799999990*t-.833946980854194387e-2*(t-.5)^2-.932201767300000039*(t-.5)^3, t < 1],[.8902706185-.310270618499999984*t-1.40664212076583217*(t-1)^2+2.61436671600000015*(t-1)^3, t < 1.5],[.342065540e-1+.243862297300000003*t+2.51490795287187030*(t-1.5)^2-2.40526509599999994*(t-1.5)^3, t < 2],[-1.059642857+.954821428699999974*t-1.09298969072164964*(t-2)^2+1.16669366700000010*(t-2)^3, t < 2.5],[-.642129970+.736851987999999958*t+.657050810014727760*(t-2.5)^2-2.66150957300000002*(t-2.5)^3, t < 3],[3.206688144-.602229381300000033*t-3.33521354933726099*(t-3)^2+5.07934462299999990*(t-3)^3, t < 3.5],[1.347770617-.127934461999999998*t+4.28380338733431554*(t-3.5)^2-2.85586892500000022*(t-3.5)^3, otherwise]); G:=dsolve({eq1,eq2,y0=0,p0=0,yp0=0,pp0=0.1},[y,phi],'numeric'): print(" Loi giai so bang phuong phap RUNGE - KUTTA "); for i from 0 to T do print(G(i)); od; yy:=t-> rhs(G(t)[2]): pp:=t-> rhs(G(t)[4]): yyp:=t->rhs(G(t)[3]):ppp:=t->rhs(G(t)[5]):plot(yy,0..n*T,color=red,thickness=3,title=`tung do y(t)`); plot(pp,0..n*T,color=blue,thickness=3,title=`goc phi phi(t)`); plot(yyp,0..n*T,color=green,title=`daohamtungdo y'(t)`); plot(ppp,0..n*T,color=black,title=`daohamgocphi phi'(t)`); |
> | mohinh:=proc(M,lan) |
> | mohinh(0.75,3); |
Legal Notice: The copyright for this application is owned by the author(s). Neither Maplesoft nor the author are responsible for any errors contained within and are not liable for any damages resulting from the use of this material. This application is intended for non-commercial, non-profit use only. Contact the author for permission if you wish to use this application in for-profit activities.