拉格朗日方法与欧拉方法

可以想象有一条河流,你站在岸边,将叠好的纸船放进了河里,你的目光跟随着小船的轨迹,以上情况用于描述小船运动轨迹的方法叫拉格朗日法,也是我们从小学到高中一直学习的方法,即跟踪一个物体的轨迹。小船飘走了,你走到桥上,站在最高点向下看小溪的潺潺流水,以上情况用于描述一个指定区域每时每刻变化的方法叫欧拉法。

生活中两种方法的比较

一开始接触这两种方法是在大三上流体力学课的时候,但是等理解过后发现,这两种方法更多的是给出了在现实生活中两种看问题的不同视角,不单单仅限于流体力学中使用。拉格朗日法是我们再熟悉不过的方法,从我们初中学习的动点问题,到高中的牛顿第二定律,都是对某一个质点进行研究,相当于拿一个摄像机跟踪这个质点。欧拉法应该是大家都陌生的一种方法,它涉及到一个概念,就是场。场可以理解为场地,这种描述的方法其实就是希望观察一个固定场景的变化。下面举一些好理解的例子供大家参考:

拍戏(我没拍过,脑补的)

家有儿女应该都看过(不怎么看电视剧),里面镜头跟随刘星动的拍摄可以理解为拉格朗日法。而在家里的拍摄可以理解为欧拉法。因为跟随刘星拍摄是需要镜头跟着刘星,对象不变,场景在变。而在家里拍摄,虽然人是来回走动,但是镜头不变,一直对着沙发和餐桌,这是场景不变,对象在变。

100m跑

我们在电视上观看100米跑决赛的时候会看到两种方式拍摄方式,第一种是摄影师拍摄影师跟着运动员在跑,这种就是拉格朗日法,比较费摄影师。还有一种就是一个镜头从上面俯瞰整个100m赛场,那就是欧拉法。

传记

看书的时候其实也有拉格朗日法和欧拉法,比如我们看的人物传记(普京传)就是拉格朗日手法描述的,而描述国家历史(明朝那些事儿)的就是欧拉法。

描述完上述内容,下面进行一些数学上公式的理解。

拉格朗日方法(质点法)

位置与时间

这种方法如前面所说,要求观察者随时随地跟踪每个流体质点,记录该质点的运动历程从而获得整体流体的运动规律。设在某一初始时刻 t 0 t_0 t0,流体质点的初始位置坐标为 ( a , b , c ) (a,b,c) (a,b,c),那么任意时刻 t t t,质点的空间位置可以表示为:

x = x ( a , b , c , t ) y = y ( a , b , c , t ) z = z ( a , b , c , t ) x=x(a,b,c,t)\\[1.5mm] y=y(a,b,c,t)\\[1.5mm] z=z(a,b,c,t) x=x(a,b,c,t)y=y(a,b,c,t)z=z(a,b,c,t)
如果给定 t t t那么上式表示在给定时间不同质点的空间位置;如果 ( a , b , c ) (a,b,c) (a,b,c)给定了,那么就表示给定质点在不同时刻的位置变化,即质点的轨迹。

速度与加速度

如果知道给定质点的位置,则可以根据定义确定质点的速度:
u = lim ⁡ Δ t → 0 x ( a , b , c , t + Δ t ) − x ( a , b , c , t ) Δ t = ∂ x ( a , b , c , t ) ∂ t v = lim ⁡ Δ t → 0 y ( a , b , c , t + Δ t ) − y ( a , b , c , t ) Δ t = ∂ y ( a , b , c , t ) ∂ t w = lim ⁡ Δ t → 0 z ( a , b , c , t + Δ t ) − z ( a , b , c , t ) Δ t = ∂ z ( a , b , c , t ) ∂ t u=\lim_{Δt \to 0}\frac{x(a,b,c,t+Δt)-x(a,b,c,t)}{Δt}=\frac{\partial x(a,b,c,t)}{\partial t}\\[3mm] v=\lim_{Δt \to 0}\frac{y(a,b,c,t+Δt)-y(a,b,c,t)}{Δt}=\frac{\partial y(a,b,c,t)}{\partial t}\\[3mm] w=\lim_{Δt \to 0}\frac{z(a,b,c,t+Δt)-z(a,b,c,t)}{Δt}=\frac{\partial z(a,b,c,t)}{\partial t} u=Δt0limΔtx(a,b,c,t+Δt)x(a,b,c,t)=tx(a,b,c,t)v=Δt0limΔty(a,b,c,t+Δt)y(a,b,c,t)=ty(a,b,c,t)w=Δt0limΔtz(a,b,c,t+Δt)z(a,b,c,t)=tz(a,b,c,t)
这里用时间偏导数,是因为流体质点是给定的。同样可以得到加速度表达式:
a x = lim ⁡ Δ t → 0 u ( a , b , c , t + Δ t ) − u ( a , b , c , t ) Δ t = ∂ u ( a , b , c , t ) ∂ t = ∂ 2 x ∂ t 2 a y = lim ⁡ Δ t → 0 v ( a , b , c , t + Δ t ) − v ( a , b , c , t ) Δ t = ∂ v ( a , b , c , t ) ∂ t = ∂ 2 y ∂ t 2 a z = lim ⁡ Δ t → 0 w ( a , b , c , t + Δ t ) − w ( a , b , c , t ) Δ t = ∂ w ( a , b , c , t ) ∂ t = ∂ 2 z ∂ t 2 a_x=\lim_{Δt \to 0}\frac{u(a,b,c,t+Δt)-u(a,b,c,t)}{Δt}=\frac{\partial u(a,b,c,t)}{\partial t}=\frac{\partial^2 x}{\partial t^2}\\[3mm] a_y=\lim_{Δt \to 0}\frac{v(a,b,c,t+Δt)-v(a,b,c,t)}{Δt}=\frac{\partial v(a,b,c,t)}{\partial t}=\frac{\partial^2 y}{\partial t^2}\\[3mm] a_z=\lim_{Δt \to 0}\frac{w(a,b,c,t+Δt)-w(a,b,c,t)}{Δt}=\frac{\partial w(a,b,c,t)}{\partial t}=\frac{\partial^2 z}{\partial t^2} ax=Δt0limΔtu(a,b,c,t+Δt)u(a,b,c,t)=tu(a,b,c,t)=t22xay=Δt0limΔtv(a,b,c,t+Δt)v(a,b,c,t)=tv(a,b,c,t)=t22yaz=Δt0limΔtw(a,b,c,t+Δt)w(a,b,c,t)=tw(a,b,c,t)=t22z
这种跟踪质点的方法实际上是理论力学中质点系法的直接延伸,也就是我们日常最长接触的记录方法。这种方法概念清晰,便于物理定律的推广,缺点是记录了太多的资料。例如每年到汛期,人们仅想了解武汉段的长江水情,但用这种方法描述的时候,必须把通过武汉段长江内的所有水的质点的来龙去脉搞清楚,全程跟踪并记录各个质点的流动过程,才能刻画武汉段长江的流动特征。这样做实际上对许多不在武汉段长江内的水质点记录是无用的。

欧拉方法(流场法)

对于速度的表示

为了避免拉格朗日法不必要的资料记录,我们不标识质点,相反标识空间点,观察者相对于空间点不动,记录不同时刻,不同质点通过固定空间点的快慢,观察者直接记录的量是不同时刻通过给定空间点的质点速度值,如将每个空间点上布置一个观察者,记录各个空间点在各时刻的质点速度值,这样就可以对所考察的流动区域特征给出全面了解。这种方法虽然标识的是空间点,但是研究的仍然是流体质点。任一空间点的位置坐标是 ( x , y , z ) (x,y,z) (x,y,z),在 t t t时刻由位于该处的观察者直接记录的通过该空间点流体质点速度为:
u = u ( x , y , z , t ) v = v ( x , y , z , t ) w = w ( x , y , z , t ) u=u(x,y,z,t)\\[1.5mm] v=v(x,y,z,t)\\[1.5mm] w=w(x,y,z,t) u=u(x,y,z,t)v=v(x,y,z,t)w=w(x,y,z,t)
如果给定 ( x , y , z ) (x,y,z) (x,y,z) t t t变化,表示不同时刻不同流体质点通过同一空间点的速度(快慢);若给定 t t t ( x , y , z ) (x,y,z) (x,y,z)在变化,表示给定时间,占据不同空间点流体质点的速度。空间点速度本质上指的是 t t t瞬时恰好占据该空间点流体质点的速度。物理上,把一个布满了某种物理量的空间成为场。流体流动所占据的空间即为流场。如果物理量是速度,那就是速度场。

对加速度的推导

如果速度是具有一阶连续偏导数的函数,那么根据定义可以确定质点的加速度。在欧拉方法中,局部跟踪流体质点运动的跟随性条件是:
d x d t = u , d y d t = v , d z d t = w \frac{dx}{dt}=u,\frac{dy}{dt}=v,\frac{dz}{dt}=w dtdx=udtdy=vdtdz=w
在研究流体质点加速度时,就需要局部跟踪所考察的质点速度变化情况。设某一流体质点在 t t t时刻位于流场中 M ( x , y , z ) M(x,y,z) M(x,y,z),经过时段 Δ t Δt Δt移动到了 N ( x + Δ x , y + Δ y , z + Δ z ) N(x+Δx,y+Δy,z+Δz) N(x+Δx,y+Δy,z+Δz),根据质点加速度定义,有:
a = d V d t = lim ⁡ Δ t → 0 Δ V Δ t = lim ⁡ Δ t → 0 V ( N , t + Δ t ) − V ( M , t ) Δ t = lim ⁡ Δ t → 0 V ( N , t + Δ t ) − V ( N , t ) Δ t + lim ⁡ Δ t → 0 V ( N , t ) − V ( M , t ) Δ t a = \frac{dV}{dt}=\lim_{Δt \to 0}\frac{ΔV}{Δt}=\lim_{Δt \to 0}\frac{V(N,t+Δt)-V(M,t)}{Δt}\\[3mm] =\lim_{Δt \to 0}\frac{V(N,t+Δt)-V(N,t)}{Δt}+\lim_{Δt \to 0}\frac{V(N,t)-V(M,t)}{Δt} a=dtdV=Δt0limΔtΔV=Δt0limΔtV(N,t+Δt)V(M,t)=Δt0limΔtV(N,t+Δt)V(N,t)+Δt0limΔtV(N,t)V(M,t)
此式表明,质点的加速度由两部分组成,第一部分时在 Δ t Δt Δt时间段内通过固定空间点的速度变化引起的加速度,第二部分是在给定时间质点通过相邻空间点速度变化引起的加速度。
对第一部分用泰勒展开:
V ( N , t + Δ t ) = V ( N , t ) + ∂ V ( N , t ) ∂ t Δ t + O ( Δ t 2 ) V(N,t+Δt)=V(N,t)+\frac{\partial V(N,t)}{\partial t}Δt+O(Δt^2) V(N,t+Δt)=V(N,t)+tV(N,t)Δt+O(Δt2)
由此可得:
lim ⁡ Δ t → 0 V ( N , t + Δ t ) − V ( N , t ) Δ t = lim ⁡ Δ t → 0 ∂ V ( N , t ) ∂ t Δ t Δ t = ∂ V ∂ t \lim_{Δt \to 0}\frac{V(N,t+Δt)-V(N,t)}{Δt}=\lim_{Δt \to 0}\frac{\frac{\partial V(N,t)}{\partial t}Δt}{Δt}=\frac{\partial V}{\partial t} Δt0limΔtV(N,t+Δt)V(N,t)=Δt0limΔttV(N,t)Δt=tV
对于第二部分相当于固定时间由相邻不同空间位置流体质点速度变化引起的加速度,同样可以根据泰勒展开获得:
V ( N , t ) = V ( x + Δ x , y + Δ y , z + Δ z , t ) = V ( x , y , z , t ) + ∂ V ( x , y , z , t ) ∂ x Δ x + ∂ V ( x , y , z , t ) ∂ y Δ y + ∂ V ( x , y , z , t ) ∂ z Δ z + O ( Δ x 2 , . . . ) V(N,t)=V(x+Δx,y+Δy,z+Δz,t)\\[4mm] =V(x,y,z,t)+\frac{\partial V(x,y,z,t)}{\partial x}Δx+\frac{\partial V(x,y,z,t)}{\partial y}Δy+\frac{\partial V(x,y,z,t)}{\partial z}Δz+O(Δx^2,...) V(N,t)=V(x+Δx,y+Δy,z+Δz,t)=V(x,y,z,t)+xV(x,y,z,t)Δx+yV(x,y,z,t)Δy+zV(x,y,z,t)Δz+O(Δx2,...)
同理,带入第二部分,有:
lim ⁡ Δ t → 0 V ( N , t ) − V ( M , t ) Δ t = lim ⁡ Δ t → 0 Δ x Δ t ∂ V ( M , t ) ∂ x + lim ⁡ Δ t → 0 Δ y Δ t ∂ V ( M , t ) ∂ y + lim ⁡ Δ t → 0 Δ z Δ t ∂ V ( M , t ) ∂ z \lim_{Δt \to 0}\frac{V(N,t)-V(M,t)}{Δt}=\lim_{Δt \to 0}\frac{Δx}{Δt}\frac{\partial V(M,t)}{\partial x}+\lim_{Δt \to 0}\frac{Δy}{Δt}\frac{\partial V(M,t)}{\partial y}+\lim_{Δt \to 0}\frac{Δz}{Δt}\frac{\partial V(M,t)}{\partial z} Δt0limΔtV(N,t)V(M,t)=Δt0limΔtΔxxV(M,t)+Δt0limΔtΔyyV(M,t)+Δt0limΔtΔzzV(M,t)
根据流体的跟随性(跟踪的是同一个质点)
lim ⁡ Δ t → 0 V ( N , t ) − V ( M , t ) Δ t = u ∂ V ( M , t ) ∂ x + v ∂ V ( M , t ) ∂ y + w ∂ V ( M , t ) ∂ z \lim_{Δt \to 0}\frac{V(N,t)-V(M,t)}{Δt}=u\frac{\partial V(M,t)}{\partial x}+v\frac{\partial V(M,t)}{\partial y}+w\frac{\partial V(M,t)}{\partial z} Δt0limΔtV(N,t)V(M,t)=uxV(M,t)+vyV(M,t)+wzV(M,t)
综合起来,可以得到在欧拉框架下,流体质点的全加速度:
a = d V d t = ∂ V ∂ t + u ∂ V ( M , t ) ∂ x + v ∂ V ( M , t ) ∂ y + w ∂ V ( M , t ) ∂ z = ∂ V ∂ t + ( V ⋅ ∇ ) V a= \frac{dV}{dt}=\frac{\partial V}{\partial t}+u\frac{\partial V(M,t)}{\partial x}+v\frac{\partial V(M,t)}{\partial y}+w\frac{\partial V(M,t)}{\partial z}\\[3mm]=\frac{\partial V}{\partial t}+(V\cdot\nabla )V a=dtdV=tV+uxV(M,t)+vyV(M,t)+wzV(M,t)=tV+VV
在全加速度表达式中,等式右边第一项表示速度对时间的偏导数,是由流场的非定常性引起的,称为局部加速度或当地加速度;第二项表示因流体质点位置变化引起的加速度,称为迁移加速度或对流加速度。两者相加合成全加速度或者随体加速度(跟随流体质点的加速度)。

转换公式实例

拉格朗日描述式变换成欧拉描述式(L-E变换)

给定拉格朗日位移描述式:
x 1 = a 1 e − 2 t k , x 2 = a 2 e − t k , x 3 = a 3 e − t k x_1=a_1e^{-\frac{2t}{k}},x_2=a_2e^{-\frac{t}{k}},x_3=a_3e^{-\frac{t}{k}} x1=a1ek2t,x2=a2ekt,x3=a3ekt
求欧拉速度场。
解:先求出拉格朗日速度表达式:
u 1 = ∂ x 1 ∂ t = − 2 a 1 k e − 2 t k u 2 = ∂ x 2 ∂ t = − a 2 k e − t k u 3 = ∂ x 3 ∂ t = − a 3 k e − t k u_1=\frac{\partial x_1}{\partial t}=-\frac{2a_1}{k}e^{-\frac{2t}{k}}\\[2mm] u_2=\frac{\partial x_2}{\partial t}=-\frac{a_2}{k}e^{-\frac{t}{k}}\\[2mm] u_3=\frac{\partial x_3}{\partial t}=-\frac{a_3}{k}e^{-\frac{t}{k}} u1=tx1=k2a1ek2tu2=tx2=ka2ektu3=tx3=ka3ekt
目的是消去 a a a,从位移解出 a a a
a 1 = x 1 e 2 t k , a 2 = x 2 e t k , a 3 = x 3 e t k a_1=x_1e^{\frac{2t}{k}},a_2=x_2e^{\frac{t}{k}},a_3=x_3e^{\frac{t}{k}} a1=x1ek2t,a2=x2ekt,a3=x3ekt
带入速度表达式得到:
u 1 = − 2 k x 1 , u 2 = − 1 k x 1 , u 3 = − 1 k x 1 u_1=-\frac{2}{k}x_1,u_2=-\frac{1}{k}x_1,u_3=-\frac{1}{k}x_1 u1=k2x1u2=k1x1u3=k1x1

欧拉描述式转换成拉格朗日描述式(E-L转换)

已知欧拉速度场:
u 1 = x 1 + t , u 2 = x 2 + t , u 3 = 0 u_1=x_1+t,u_2=x_2+t,u_3=0 u1=x1+tu2=x2+tu3=0
初始条件为:
t = 0 , x 1 = a 1 , x 2 = a 2 , x 3 = a 3 t=0,x_1=a_1,x_2=a_2,x_3=a_3 t=0,x1=a1,x2=a2,x3=a3
求质点位移和速度的拉格朗日表达式。
解:
u 1 = ∂ x 1 ∂ t = x 1 + t u 2 = ∂ x 2 ∂ t = x 2 + t u 3 = ∂ x 3 ∂ t = 0 u_1=\frac{\partial x_1}{\partial t}=x_1+t\\[2mm] u_2=\frac{\partial x_2}{\partial t}=x_2+t\\[2mm] u_3=\frac{\partial x_3}{\partial t}=0 u1=tx1=x1+tu2=tx2=x2+tu3=tx3=0
该方程的一般解为:
x 1 = c 1 e t − t − 1 x 2 = c 2 e t − t − 1 x 3 = c 3 x_1=c_1e^{t}-t-1\\[3mm] x_2=c_2e^{t}-t-1\\[3mm] x_3=c_3 x1=c1ett1x2=c2ett1x3=c3
带入初始条件,得到积分常数: c 1 = a 1 + 1 , c 2 = a 2 + 1 , c 3 = a 3 c_1=a_1+1,c_2=a_2+1,c_3=a_3 c1=a1+1,c2=a2+1,c3=a3
得到拉格朗日表达式为:
x 1 = ( a 1 + 1 ) e t − t − 1 x 2 = ( a 2 + 1 ) e t − t − 1 x 3 = a 3 x_1=(a_1+1)e^{t}-t-1\\[3mm] x_2=(a_2+1)e^{t}-t-1\\[3mm] x_3=a_3 x1=(a1+1)ett1x2=(a2+1)ett1x3=a3
速度的拉格朗日表达式为:
u 1 = ( a 1 + 1 ) e t − 1 u 2 = ( a 2 + 1 ) e t − 1 u 3 = 0 u_1=(a_1+1)e^{t}-1\\[3mm] u_2=(a_2+1)e^{t}-1\\[3mm] u_3=0 u1=(a1+1)et1u2=(a2+1)et1u3=0

  • 28
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
欧拉-拉格朗日方法可以用于建立机器人的动力学模型。以下是一个简单的机器人模型,它由两个旋转关节和两个链节组成。 1. 定义系统变量和常数:定义机器人的状态变量,如关节角度和角速度,以及机器人的常数,如链节长度和质量。 2. 建立系统方程:使用欧拉-拉格朗日方法建立系统的动力学方程,该方程描述机器人的运动和动力学特性。可以使用以下步骤: a. 定义拉格朗日函数:根据机器人的动能和势能,定义拉格朗日函数。 b. 计算拉格朗日方程:根据拉格朗日函数,计算拉格朗日方程,它描述了机器人的运动和动力学特性。 c. 转换为欧拉-拉格朗日方程:使用欧拉-拉格朗日方法,将拉格朗日方程转换为欧拉-拉格朗日方程。 3. 数值求解:使用数值方法求解欧拉-拉格朗日方程,如欧拉方法、龙格-库塔方法等。 4. 可视化仿真:使用MATLAB的图形功能,可视化仿真机器人的行为,并对机器人性能进行评估。 以下是一个简单的机器人动力学模型的方程: - 定义状态变量:q1、q2、dq1、dq2 - 定义常数:m1、m2、l1、l2、g - 定义拉格朗日函数:L = T - V - 计算拉格朗日方程:d/dt(dL/d(dq1)) - dL/dq1 = Q1,d/dt(dL/d(dq2)) - dL/dq2 = Q2 - 转换为欧拉-拉格朗日方程:M(q)ddq + C(q,dq)dq + G(q) = Q 其中,M(q)是质量矩阵,C(q,dq)是科里奥利力矩阵,G(q)是重力矩阵,Q是外部力矩。 可以使用MATLAB的符号计算工具箱,自动化地进行欧拉-拉格朗日建模,并求解机器人的动力学方程。然后,可以使用数值方法求解欧拉-拉格朗日方程,并使用MATLAB的图形功能可视化机器人的运动。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

薯一个蜂蜜牛奶味的愿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值