人行走的最少能量消耗的邁步角度分佈

 問題稱述
一身高爲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;
 
 
 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章