人行走的最少能量消耗的迈步角度分布

 问题称述
一身高为H的人以一定的速度V行走,假设其重心在H/2的位置,并且腿长也为H/2,试分析该人迈多大的步伐,能使额外消耗的能量最少?
 
 
问题分析和模型建立
由于行走速度V是定值,所以不同的步伐会对应不同的频率.同时,不同的步伐只需要用两腿迈步时的交角θ就可以确定.所以本题可以用穷举θ∈[0,π]计算消耗的多余能量就可以解决。消耗的多余能量可以用人行走的重心上下移动而产生的重力作的功来计算:即E0=mgΔh   其中, Δh=H-H`  H`=f(θ, H) 再加上每一步所损失的生物能量E1,总消耗能量为E=t *(E1+E0 )――其中t为人行走的频率.
 
 
求解方法
高为H,腿的张角为θ,人行走的时间为Δt,人的质量为m。
走的路长为S=V×Δt。
每步长为T=sqrt(2×(H/2)2-cosθ×2×(H/2)2)。
上下移动距离为△h=H/2×(1-cos(θ/2))。
上下移动损失的能量为E0=S/T×△h×m。
每一步所损失的生物能量E1=S/T×c(c为一常数)
总消耗能量为E=E1+E0=S×((△h×m)+c)/T=[((1-cos(θ/2))×S×m)/(sqrt2×sqrt(1-cos(θ)))]+S×c/(H/2)/(sqrt2×sqrt(1-cos(θ)))。
依次计算出上述步骤的结果,使张角θ从0取到180,便可得到一个关于消耗能量E的函数图,得到一个最小值,即是本次实验所求结果。
四、计算机结果及分析
写出以上计算的源程序:
 
H=10;%高为H
V=10;%V速度
t1=10;%t1为人行走的时间Δt
m=10;%人的质量为m
c=10;%c为任意值,表每一步生物能量损失
for a=1:180;%a表示θ
E=(1-cos(a/2*(pi/180)))*V*t1*m/sqrt(2-2*cos(a*(pi/180)))+V*t1*c*2/H/sqrt(2-2*cos(a*(pi/180)));%E为走路损失的总能量
    b(a)=E;%b为存值的变量
end;
plot(b)
for o=1:180;%求消耗能量最少的角度aa
    if b(o)==min(b)
        aa=o
    end;
end;
得到如下图:
当把(H=112;%高为H,V=132;%V速度,t1=12;%t1为人行走的时间Δt,m=145;%人的质量为m,c=145;%c为任意值,表每一步生物能量损失)这些量加以变化成此值后,发现函数图像又变成了另一种样子:
于是推断,此最值应还与上述几个量有关,经公式演算判断,此最值与速度V,时间t1无关。与H,m,c有关,而与H,m关系不是很大,而且H,m应该是一个人的定值,故此次建模取男人高为H=1.8; 质量为m=70公斤、女人高为H=1.5; 质量为m=45为例。
 
继续编程――取男人高为H=1.8; 质量为m=70公斤计算得到θ-c图:
c步长为1
对局部进行放大:(下图)
得到其jd()图(显示出对应的c取值时人行走消耗能量最少的角度θ的值):图如下:
故此次建模取男人高为H=1.8; 质量为m=70公斤行走的结论如下:
高为H(m)
质量m(kg)
每步损失能量C(焦耳)
θ(度)
1.8
70
1
6
1.8
70
50
44
1.8
70
100
61
1.8
70
150
72
1.8
70
200
81
1.8
70
250
89
1.8
70
300
95
1.8
70
350
100
1.8
70
400
105
1.8
70
450
109
1.8
70
500
112
1.8
70
550
115
1.8
70
600
118
1.8
70
650
121
1.8
70
700
123
1.8
70
750
126
1.8
70
800
128
1.8
70
850
130
1.8
70
900
131
1.8
70
950
133
1.8
70
1000
135
 
 
取女人高为H=1.5; 质量为m=45公斤计算得到θ-c图:
得到其jd()图(显示出对应的c取值时人行走消耗能量最少的角度θ的值):图如下:
故此次建模取男人高为H=1.8; 质量为m=70公斤行走的结论如下:
高为H(m)
质量m(kg)
每步损失能量C(焦耳)
θ(度)
1.5
45
1
9
1.5
45
50
59
1.5
45
100
79
1.5
45
150
92
1.5
45
200
102
1.5
45
250
110
1.5
45
300
116
1.5
45
350
121
1.5
45
400
126
1.5
45
450
129
1.5
45
500
132
1.5
45
550
135
1.5
45
600
138
1.5
45
650
140
1.5
45
700
142
1.5
45
750
144
1.5
45
800
145
1.5
45
850
147
1.5
45
900
148
1.5
45
950
150
1.5
45
1000
151
 
附完整源代码:
V=134;%V速度
t1=102;%t1为人行走的时间Δt
H=1.8;%高为H--1.8米
m=700;%人的质量为m--70公斤
 
begin0=1;%临时变量
end0=1000;%临时变量
 
for c=begin0:end0%c为任意值,表每一步生物能量损失
    for a=1:180%a表示θ
        E=(1-cos(a/2*(pi/180)))*V*t1*m/sqrt(2-2*cos(a*(pi/180)))+V*t1*c*2/H/sqrt(2-2*cos(a*(pi/180)));%E为走路损失的总能量
        b(a)=E;%b为存值的变量
    end;
    HOLD on;
    plot(b)
    for o=1:a%求消耗能量最少的角度,并记录下来
        if b(o)==min(b)
         jd(c)=o;
         e(c)=min(b);
        end;
    end;
end;
%以上程序中jd()保存了c从begin到end0取值间,与c对应的损失最少的角度值
%画出jd()的图来就可以看到效果
for p=begin0:end0%求消耗能量最少的角度与生物能损失
    if e(p)==min(e)
        ok=p%以损失生物能o,以角度jd走能量损耗最少
        jd(p)
    end;
end;
 
 
 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章