mathematics_numerical-graphical solutions of the non-linear vibration model
DESCRIPTION
Abstract : The system of non-linear differential quations with discrete input function is solved by Runge-Kutta method . Subjects: Vibration Mechanics , The Differential equations . [email protected] & [email protected] Copyright 2007 May 06 2007 by CO.H . TRAN University of Natural Sciences, HCMC Vietnam TRAN HONG CO Dai hoc Khoa hoc tu nhien tp HCM Vietnam [email protected] & [email protected] (1.1)TRANSCRIPT
NUMERICAL - GRAPHICAL SOLUTIONS OF THE NON-LINEAR VIBRATION MODEL
with discrete data input
by CO.H . TRAN University of Natural Sciences,
HCMC Vietnam
[email protected] & [email protected] Copyright 2007 May 06 2007
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 .
All rights reserved. Copying or transmitting of this material without the permission of the authors is not allowed .
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
[email protected] & [email protected] Step 1 : System Definition. > 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
Step 2 : Fitting the experimental data by Spline function. > 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)
> 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)
Step 3 : The non-linear vibration system with discrete data input . > 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)`);
Animation Code Activate the following procedure twice to obtain the result completely . (use Maple 9.5 & 10 )
Mohinh procedure > 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.