2007年4月22日 星期日

機動學第七次作業

題目一:

a = 我的學號末碼+10 = 15。

各桿之對應長度rho=[15, 20, 10]㎝,
各桿之對應起始角度theta=[0, 0, 0]度,
各桿之對應角速度為td=[0.2, 0.5, 0 .3]rad/s,
各桿之對應角加速度為tdd=[0, 0.1, 0.2]rad/s^2。

利用 Matlab 做起始分析:

>> [vec dyadata]=dyad([15 20 10],[0 0 0],[0.2 0.5 0.3],[0 0.1 0.2])

vec =
45.0000__ 16.0000__ 7.6322
0.0000___ 90.0000__ 148.3925

dyadata =
15.0000__ 0 + 3.0000i__ -0.6000
20.0000__ 0 +10.0000i__ -5.0000 + 2.0000i
10.0000__ 0 + 3.0000i__ -0.9000 + 2.0000i


以上為開始值,

下圖為起始時的分析圖。

>> dyad_draw([15 20 10],[0 0 0],[0.2 0.5 0.3],[0 0.1 0.2])



下列函式為計算當時間經過 t 秒時,
所對應到的新角度、新角速度:

function [thet, omega]=angular(time,theta,td,tdd)
%算角度變化及角速度變化後的值,配合dyad及dyad_draw始用
%time:經過時間(sec)
%theta:起始角度(°)
%td:起始角速度
%tdd:角加速度
%輸出:[角度 角速度]

t=time;
th=theta(:);
td=td(:);
tdd=tdd(:);
n=length(th);
th2=td*t+0.5*tdd*t*t;
for x=1:n
thetotal(x)=0;
for y=1:x
thetotal(x)=th2(y)+thetotal(x);
end
thet(x)=th(x)+thetotal(x);
end
omega=td+tdd*t




t=1:
第一秒時,

>> [thet, omega]=angular(1,[0 0 0],[0.2 0.5 0.3],[0 0.1 0.2])

thet =
0.2000
0.7500
1.1500

omega =
0.2000
0.6000
0.5000


角度變為[0.2 0.75 1.15],
角速度變為[0.2 0.6 0.5],
此時結構變為:

>> dyad_draw([15 20 10],[0.20 0.75 1.15],[0.2 0.6 0.5],[0 0.1 0.2])


分析:
>> [vec dyadata]=dyad([15 20 10],[0.20 0.75 1.15],[0.2 0.6 0.5],[0 0.1 0.2])

vec =

44.9991__ 19.9997__ 11.0581
0.6556__ 90.7675__ 159.6091

dyadata =

14.9999 + 0.0524i__ -0.0105 + 3.0000i__ -0.6000 - 0.0021i
19.9983 + 0.2618i__ -0.1571 +11.9990i__ -7.2256 + 1.9056i
9.9980 + 0.2007i__ -0.1003 + 4.9990i__ -2.5396 + 1.9494i




t=2:
當第二秒時,

>> [thet, omega]=angular(2,[0 0 0],[0.2 0.5 0.3],[0 0.1 0.2])

thet =
0.4000
1.6000
2.6000

omega =
0.2000
0.7000
0.7000


角度變為[0.4 1.6 2.6],
角速度變為[0.2 0.7 0.7],
此時結構變為:

>> dyad_draw([15 20 10],[0.4 1.6 2.6],[0.2 0.7 0.7],[0 0.1 0.2])


分析:
>> [vec dyadata]=dyad([15 20 10],[0.4 1.6 2.6],[0.2 0.7 0.7],[0 0.1 0.2])

vec =

44.9954__ 23.9983__ 15.8288
1.4222__ 91.7417__ 167.2363

dyadata =

14.9996 + 0.1047i__ -0.0209 + 2.9999i__ -0.6000 - 0.0042i
19.9922 + 0.5584i__ -0.3909 +13.9945i__ -9.8520 + 1.7256i
9.9897 + 0.4536i__ -0.3175 + 6.9928i__ -4.9857 + 1.7757i



t=3:
當第三秒時,

>> [thet, omega]=angular(3,[0 0 0],[0.2 0.5 0.3],[0 0.1 0.2])

thet =
0.6000
2.5500
4.3500

omega =
0.2000
0.8000
0.9000


角度變為[0.6 2.55 4.35],
角速度變為[0.2 0.8 0.9],
此時結構變為:

>> dyad_draw([15 20 10],[0.6 2.55 4.35],[0.2 0.8 0.9],[0 0.1 0.2])


分析:
>> [vec dyadata]=dyad([15 20 10],[0.6 2.55 4.35],[0.2 0.8 0.9],[0 0.1 0.2])

vec =

44.9868__ 27.9944__ 21.8848
2.3000__ 92.9197__ 172.6437

dyadata =

14.9992 + 0.1571i__ -0.0314 + 2.9998i__ -0.6000 - 0.0063i
19.9802 + 0.8898i__ -0.7119 +15.9842i__ -12.8763 + 1.4285i
9.9712 + 0.7585i__ -0.6826 + 8.9741i__ -8.2284 + 1.3799i




t=4:
當第四秒時,

>> [thet, omega]=angular(4,[0 0 0],[0.2 0.5 0.3],[0 0.1 0.2])

thet =
0.8000
3.6000
6.4000

omega =
0.2000
0.9000
1.1000


角度變為[0.8 3.6 6.4],
角速度變為[0.2 0.9 1.1],
此時結構變為:

>> dyad_draw([15 20 10],[0.8 3.6 6.4],[0.2 0.9 1.1],[0 0.1 0.2])


分析:
>> [vec dyadata]=dyad([15 20 10],[0.8 3.6 6.4],[0.2 0.9 1.1],[0 0.1 0.2])

vec =

44.9708__ 31.9857__ 29.1855
3.2888__ 94.3001__ 176.8392

dyadata =

14.9985 + 0.2094i__ -0.0419 + 2.9997i__ -0.5999 - 0.0084i
19.9605 + 1.2558i__ -1.1302 +17.9645i__ -16.2936 + 0.9788i
9.9377 + 1.1147i__ -1.2262 +10.9314i__ -12.2475 + 0.6388i




t=5:
當第五秒時,

>> [thet, omega]=angular(5,[0 0 0],[0.2 0.5 0.3],[0 0.1 0.2])

thet =
1.0000
4.7500
8.7500

omega =
0.2000
1.0000
1.3000


角度變為[1.0 4.75 8.75],
角速度變為[0.2 1.0 1.3],
此時結構變為:

>> dyad_draw([15 20 10],[1.0 4.75 8.75],[0.2 1.0 1.3],[0 0.1 0.2])


分析:
>> [vec dyadata]=dyad([15 20 10],[1.0 4.75 8.75],[0.2 1.0 1.3],[0 0.1 0.2])

vec =

44.9444__ 35.9689__ 37.7053
4.3886__ 95.8820__ -179.5933

dyadata =

14.9977 + 0.2618i__ -0.0524 + 2.9995i__ -0.5999 - 0.0105i
19.9313 + 1.6562i__ -1.6562 +19.9313i__ -20.0969 + 0.3370i
9.8836 + 1.5212i__ -1.9776 +12.8487i__ -17.0076 - 0.5942i

2 則留言:

不留白老人 提到...

所表現的速度方向很奇怪,經過那麼長的時間應該會往上移動很大才對

不留白老人 提到...

角度輸入不能用弧度,必須轉換