2重振り子のおもちゃ SECOND 2006/11/30 04:44:45 └!更新 SECOND 2006/11/30 16:58:12 └!訂正(注釈) SECOND 2006/12/01 02:16:27 └!訂正 SECOND 2006/12/01 11:11:27 └!背景に○と□を置いた・・ SECOND 2006/12/03 08:23:45
2重振り子のおもちゃ SECOND 2006/11/30 04:44:45 ツリーへ
2重振り子のおもちゃ |
返事を書く |
SECOND 2006/11/30 04:44:45 | |
!2重振り子のおもちゃ
!振れ角が小さい場合に制限して、簡略化された微分方程式。 ! |A1"(t)|=|1 m2/(m1+m2)||A1(t)| A1(t):上の振り子の角度(重力方向0度) ! |A2"(t)| |L1/L2 L1/L2 ||A2(t)| A2(t):下の振り子の・・ ! |A1"(t)|=|P||λ1 0||P|^-1|A1(t)| ! |A2"(t)| | ||0 λ2|| | |A2(t)| ! |A1"(t)|=|P||F1"(t)||λ1 0||F1(t)||P|^-1|A1(t)| ! |A2"(t)| | ||F2"(t)||0 λ2||F2(t)|| | |A2(t)| ! F1"(t)=λ1*F1(t) ! F2"(t)=λ2*F2(t) DIM p(2,2),pg(2,2) LET m1=2 LET m2=2 LET L1=20 LET L2=20 LET c=m2/(m1+m2) LET d=L1/L2 !----固有方程式 ! |1-R c|=0 ! |d d-R| !R^2-(1+d)R+(1-c)d=0 LET Rp=(1+d +SQR((1-d)^2+4*c*d))/2 LET Rm=1+d-Rp LET rRp=SQR(Rp) LET rRm=SQR(Rm) !----固有ベクトルで、列ベクトル行列Pを作る。p(,) !種の行列が対称でなく、固有ベクトルは直交しない。 LET p(1,1)=(d-Rp) LET p(2,1)=d LET p(1,2)=(d-Rm) LET p(2,2)=d !----Pの逆行列P^-1 pg(,) !Pが直交行列でなく、転置行列不可。 MAT pg=INV(p) !----初期角度 LET A1_0=0.2 LET A2_0=0.5*SQR(2) ! |F1|=|pg11 pg12||A1| ! |F2| |pg21 pg22||A2| LET F1_0=pg(1,1)*A1_0+pg(1,2)*A2_0 LET F2_0=pg(2,1)*A1_0+pg(2,2)*A2_0 !----初期速度 LET dF1_0=0 LET dF2_0=0 !----解の関数 DEF F1(t)=F1_0*COS(rRp*t)-dF1_0/rRp*SIN(rRp*t) DEF F2(t)=F2_0*COS(rRm*t)-dF2_0/rRm*SIN(rRm*t) ! |A1|=|p11 p12||F1| ! |A2| |p21 p22||F2| DEF A1(t)=p(1,1)*F1(t)+p(1,2)*F2(t) DEF A2(t)=p(2,1)*F1(t)+p(2,2)*F2(t) !----run SET WINDOW -60,60,-60,60 LET r1=SQR(m1) LET r2=SQR(m2) LET tb=999 LET t0=TIME !開始 DO LET t=(TIME-t0)*2.5 IF t<>tb THEN LET tb=t SET DRAW mode hidden !裏ページに書く。 CLEAR PLOT TEXT ,AT 0,55:"マウス 右ボタンで、終了。" FOR y=-10 TO 50 STEP 30 FOR x=-39 TO 39 STEP 26 DRAW 振子0 WITH ROTATE(A1(t))*SHIFT(x,y) LET t=t+SQR(2) NEXT X NEXT Y SET DRAW mode explicit !裏ページの表示。 !stop END IF WAIT DELAY 0.05 MOUSE POLL mx,my,mlb,mrb !マウスの状態取得。 LOOP UNTIL mrb=1 PICTURE 振子0 DRAW circle WITH SCALE(1) DRAW 振子1(L1,r1) DRAW 振子1(L2,r2) WITH ROTATE(A2(t)-A1(t))*SHIFT(0,-L1) END PICTURE PICTURE 振子1(L,r) PLOT LINES: 0,0;0,-L DRAW disk WITH SCALE(r)*SHIFT(0,-L) END PICTURE END |
└!更新 SECOND 2006/11/30 16:58:12 ツリーへ
Re: 2重振り子のおもちゃ |
返事を書く |
SECOND 2006/11/30 16:58:12 | |
!更新
!2重振り子のおもちゃ !振れ角が小さい場合に制限して、簡略化された微分方程式。 ! |A1"(t)|=|1 m2/(m1+m2)||A1(t)| A1(t):上の振り子の角度(重力方向0度) ! |A2"(t)| |L1/L2 L1/L2 ||A2(t)| A2(t):下の振り子の・・ ! |A1"(t)|=(P)|λp 0|(P)^-1 |A1(t)| λpλm:固有値 ! |A2"(t)| |0 λm| |A2(t)| (P):固有ベクトルの列 行列 ! |A1"(t)|=(P) |F1"(t)||λp 0||F1(t)| (P)^-1 |A1(t)| ! |A2"(t)| |F2"(t)||0 λm||F2(t)| |A2(t)| ! F1"(t)=λp F1(t) ! F2"(t)=λm F2(t) DIM p(2,2),pg(2,2) LET m1=2 LET m2=8 LET L1=20 LET L2=20 LET c=m2/(m1+m2) LET d=L1/L2 !----固有方程式 ! |1-λ c|=0 ! |d d-λ| !λ^2-(1+d)λ+(1-c)d=0 LET λp=(1+d +SQR((1-d)^2+4*c*d))/2 LET λm=1+d-λp LET rλp=SQR(λp) LET rλm=SQR(λm) !----固有ベクトルで、列ベクトル行列Pを作る。p(,) !種の行列が対称でなく、固有ベクトルは直交しない。 LET p(1,1)=(d-λp) LET p(2,1)=d LET p(1,2)=(d-λm) LET p(2,2)=d !----Pの逆行列P^-1 pg(,) !Pが直交行列でなく、転置行列不可。 MAT pg=INV(p) !----初期角度 LET A1_0=0.2 LET A2_0=0.5*SQR(2) ! |F1|=|pg11 pg12||A1| ! |F2| |pg21 pg22||A2| LET F1_0=pg(1,1)*A1_0+pg(1,2)*A2_0 LET F2_0=pg(2,1)*A1_0+pg(2,2)*A2_0 !----初期速度 LET dF1_0=0 LET dF2_0=0 !----解の関数 DEF F1(t)=F1_0*COS(rλp*t)-dF1_0/rλp*SIN(rλp*t) DEF F2(t)=F2_0*COS(rλm*t)-dF2_0/rλm*SIN(rλm*t) ! |A1|=|p11 p12||F1| ! |A2| |p21 p22||F2| DEF A1(t)=p(1,1)*F1(t)+p(1,2)*F2(t) DEF A2(t)=p(2,1)*F1(t)+p(2,2)*F2(t) !----run SET WINDOW -60,60,-60,60 LET r1=SQR(m1) LET r2=SQR(m2) LET tb=999 LET t0=TIME !開始 DO LET t=(TIME-t0)*5 IF t<>tb THEN LET tb=t SET DRAW mode hidden !裏ページに書く。 CLEAR PLOT TEXT ,AT 0,55:"マウス 右ボタンで、終了。" FOR y=-10 TO 50 STEP 30 FOR x=-39 TO 39 STEP 26 DRAW 振子0 WITH ROTATE(A1(t))*SHIFT(x,y) LET t=t+SQR(2) NEXT X NEXT Y SET DRAW mode explicit !裏ページの表示。 !stop END IF WAIT DELAY 0.05 MOUSE POLL mx,my,mlb,mrb !マウスの状態取得。 LOOP UNTIL mrb=1 PICTURE 振子0 SET AREA COLOR (A1(t)+PI)*1.28 DRAW circle WITH SCALE(1) DRAW 振子1(L1,r1) DRAW 振子1(L2,r2) WITH ROTATE(A2(t)-A1(t))*SHIFT(0,-L1) END PICTURE PICTURE 振子1(L,r) PLOT LINES: 0,0;0,-L DRAW disk WITH SCALE(r)*SHIFT(0,-L) END PICTURE END |
└!訂正(注釈) SECOND 2006/12/01 02:16:27 ツリーへ
Re: !更新 |
返事を書く |
SECOND 2006/12/01 02:16:27 | |
!訂正(注釈)
!2重振り子のおもちゃ !振れ角が小さい場合に制限して、簡略化された微分方程式。 ! |A1"(t)|=|1 m2/(m1+m2)||A1(t)| ;A1(t):上の振り子の角度(重力方向0度) ! |A2"(t)| |L1/L2 L1/L2 ||A2(t)| ;A2(t):下の振り子の・・ ! |A1"(t)|=(P)|λp 0|(P)^-1 |A1(t)| ;λpλm:固有値 ! |A2"(t)| |0 λm| |A2(t)| ;(P) :固有ベクトルの列 行列 ! |A1"(t)|=(P)|F1"(t)| ! |A2"(t)| |F2"(t)| ! |F1"(t)|=|λp 0||F1(t)| ! |F2"(t)|=|0 λm||F2(t)| ! |F1(t)|(P)^-1 |A1(t)| ! |F2(t)| |A2(t)| ! F1"(t)=λp F1(t) ! F2"(t)=λm F2(t) DIM p(2,2),pg(2,2) LET m1=2 !錘(上) LET m2=8 !錘(下) LET L1=20 !吊り棒(上) LET L2=20 !吊り棒(下) LET c=m2/(m1+m2) LET d=L1/L2 !----固有方程式 ! |1-λ c|=0 ! |d d-λ| !λ^2-(1+d)λ+(1-c)d=0 LET λp=(1+d +SQR((1-d)^2+4*c*d))/2 LET λm=1+d-λp LET rλp=SQR(λp) LET rλm=SQR(λm) !----固有ベクトルで、列ベクトル行列Pを作る。p(,) !種の行列が対称でなく、固有ベクトルは直交しない。 LET p(1,1)=(d-λp) LET p(2,1)=d LET p(1,2)=(d-λm) LET p(2,2)=d !----Pの逆行列P^-1 pg(,) !Pが直交行列でなく、転置行列不可。 MAT pg=INV(p) !----初期角度 LET A1_0=0.2 !0.3 LET A2_0=0.5*SQR(2) !0.45*SQR(2) ! |F1|=|pg11 pg12||A1| ! |F2| |pg21 pg22||A2| LET F1_0=pg(1,1)*A1_0+pg(1,2)*A2_0 LET F2_0=pg(2,1)*A1_0+pg(2,2)*A2_0 !----初期速度 LET dF1_0=0 LET dF2_0=0 !----解の関数 DEF F1(t)=F1_0*COS(rλp*t)-dF1_0/rλp*SIN(rλp*t) DEF F2(t)=F2_0*COS(rλm*t)-dF2_0/rλm*SIN(rλm*t) ! |A1|=|p11 p12||F1| ! |A2| |p21 p22||F2| DEF A1(t)=p(1,1)*F1(t)+p(1,2)*F2(t) DEF A2(t)=p(2,1)*F1(t)+p(2,2)*F2(t) !----run SET WINDOW -60,60,-60,60 LET r1=SQR(m1) LET r2=SQR(m2) LET tb=999 LET t0=TIME !開始 DO LET t=(TIME-t0)*5 !速さ IF t<>tb THEN LET tb=t SET DRAW mode hidden !裏ページに書く。 CLEAR PLOT TEXT ,AT 0,55:"マウス 右ボタンで、終了。" FOR y=-10 TO 50 STEP 30 FOR x=-39 TO 39 STEP 26 DRAW 振子0 WITH ROTATE(A1(t))*SHIFT(x,y) LET t=t+SQR(2) NEXT X NEXT Y SET DRAW mode explicit !裏ページの表示。 !stop END IF WAIT DELAY 0.05 MOUSE POLL mx,my,mlb,mrb !マウスの状態取得。 LOOP UNTIL mrb=1 PICTURE 振子0 SET AREA COLOR (A1(t)+PI)*1.28 DRAW circle WITH SCALE(1) DRAW 振子1(L1,r1) DRAW 振子1(L2,r2) WITH ROTATE(A2(t)-A1(t))*SHIFT(0,-L1) END PICTURE PICTURE 振子1(L,r) PLOT LINES: 0,0;0,-L DRAW disk WITH SCALE(r)*SHIFT(0,-L) END PICTURE END |
└!訂正 SECOND 2006/12/01 11:11:27 ツリーへ
Re: !訂正(注釈) |
返事を書く |
SECOND 2006/12/01 11:11:27 | |
!訂正
!2重振り子のおもちゃ !振れ角が小さい場合に制限して、簡略化された微分方程式。 ! |A1"(t)|=|1 m2/(m1+m2)||A1(t)| ;A1(t):上の振り子の角度(重力方向0度) ! |A2"(t)| |L1/L2 L1/L2 ||A2(t)| ;A2(t):下の振り子の・・ ! |A1"(t)|=(P)|λp 0|(P)^-1 |A1(t)| ;λpλm:固有値 ! |A2"(t)| |0 λm| |A2(t)| ;(P) :固有ベクトルの列 行列 ! |A1"(t)|=(P)|F1"(t)| ! |A2"(t)| |F2"(t)| ! |F1"(t)|=|λp 0||F1(t)| ! |F2"(t)| |0 λm||F2(t)| ! |F1(t)|=(P)^-1 |A1(t)| ! |F2(t)| |A2(t)| ! F1"(t)=λp F1(t) ! F2"(t)=λm F2(t) DIM p(2,2),pg(2,2) LET m1=2 !錘(上) LET m2=8 !錘(下) LET L1=20 !吊り棒(上) LET L2=20 !吊り棒(下) LET c=m2/(m1+m2) LET d=L1/L2 !----固有方程式 ! |1-λ c|=0 ! |d d-λ| !λ^2-(1+d)λ+(1-c)d=0 LET λp=(1+d +SQR((1-d)^2+4*c*d))/2 LET λm=1+d-λp LET rλp=SQR(λp) LET rλm=SQR(λm) !----固有ベクトルで、列ベクトル行列Pを作る。p(,) !種の行列が対称でなく、固有ベクトルは直交しない。 LET p(1,1)=(d-λp) LET p(2,1)=d LET p(1,2)=(d-λm) LET p(2,2)=d !----Pの逆行列P^-1 pg(,) !Pが直交行列でなく、転置行列不可。 MAT pg=INV(p) !----初期角度 LET A1_0=0.2 !0.3 LET A2_0=0.5*SQR(2) !0.45*SQR(2) ! |F1|=|pg11 pg12||A1| ! |F2| |pg21 pg22||A2| LET F1_0=pg(1,1)*A1_0+pg(1,2)*A2_0 LET F2_0=pg(2,1)*A1_0+pg(2,2)*A2_0 !----初期速度 LET dF1_0=0 LET dF2_0=0 !----解の関数 DEF F1(t)=F1_0*COS(rλp*t)-dF1_0/rλp*SIN(rλp*t) DEF F2(t)=F2_0*COS(rλm*t)-dF2_0/rλm*SIN(rλm*t) ! |A1|=|p11 p12||F1| ! |A2| |p21 p22||F2| DEF A1(t)=p(1,1)*F1(t)+p(1,2)*F2(t) DEF A2(t)=p(2,1)*F1(t)+p(2,2)*F2(t) !----run SET WINDOW -60,60,-60,60 LET r1=SQR(m1) LET r2=SQR(m2) LET tb=999 LET t0=TIME !開始 DO LET t=(TIME-t0)*5 !速さ IF t<>tb THEN LET tb=t SET DRAW mode hidden !裏ページに書く。 CLEAR PLOT TEXT ,AT 0,55:"マウス 右ボタンで、終了。" FOR y=-10 TO 50 STEP 30 FOR x=-39 TO 39 STEP 26 DRAW 振子0 WITH ROTATE(A1(t))*SHIFT(x,y) LET t=t+SQR(2) NEXT X NEXT Y SET DRAW mode explicit !裏ページの表示。 !stop END IF WAIT DELAY 0.05 MOUSE POLL mx,my,mlb,mrb !マウスの状態取得。 LOOP UNTIL mrb=1 PICTURE 振子0 SET AREA COLOR (A1(t)+PI)*1.28 DRAW circle WITH SCALE(1) DRAW 振子1(L1,r1) DRAW 振子1(L2,r2) WITH ROTATE(A2(t)-A1(t))*SHIFT(0,-L1) END PICTURE PICTURE 振子1(L,r) PLOT LINES: 0,0;0,-L DRAW disk WITH SCALE(r)*SHIFT(0,-L) END PICTURE END |
└!背景に○と□を置いた・・ SECOND 2006/12/03 08:23:45 ツリーへ
Re: !訂正 |
返事を書く |
SECOND 2006/12/03 08:23:45 | |
! 背景に○と□を置いた・・
!振れ角が小さい場合に制限して、簡略化された2重振り子。 ! |A1"(t)|=|1 m2/(m1+m2)||A1(t)| ;A1(t):上の振り子の角度(重力方向0度) ! |A2"(t)| |L1/L2 L1/L2 ||A2(t)| ;A2(t):下の振り子の・・ ! |A1"(t)|=(P)|λp 0|(P)^-1 |A1(t)| ;λpλm:固有値 ! |A2"(t)| |0 λm| |A2(t)| ;(P) :固有ベクトルの列 行列 ! |A1"(t)|=(P)|F1"(t)| ! |A2"(t)| |F2"(t)| ! |F1"(t)|=|λp 0||F1(t)| ! |F2"(t)| |0 λm||F2(t)| ! |F1(t)|=(P)^-1 |A1(t)| ! |F2(t)| |A2(t)| ! F1"(t)=λp F1(t) ! F2"(t)=λm F2(t) DIM p(2,2),pg(2,2) LET m1=2 !錘(上) LET m2=8 !錘(下) LET L1=20 !吊り棒(上) LET L2=20 !吊り棒(下) LET c=m2/(m1+m2) LET d=L1/L2 !----固有方程式 ! |1-λ c|=0 ! |d d-λ| !λ^2-(1+d)λ+(1-c)d=0 LET λp=(1+d +SQR((1-d)^2+4*c*d))/2 LET λm=1+d-λp LET rλp=SQR(λp) LET rλm=SQR(λm) !----固有ベクトルで、列ベクトル行列Pを作る。p(,) LET p(1,1)=(d-λp) LET p(2,1)=d LET p(1,2)=(d-λm) LET p(2,2)=d !----Pの逆行列P^-1 pg(,) MAT pg=INV(p) !----初期角度 LET A1_0=0.2 !0.3 LET A2_0=0.5*SQR(2) !0.45*SQR(2) ! |F1|=|pg11 pg12||A1| ! |F2| |pg21 pg22||A2| LET F1_0=pg(1,1)*A1_0+pg(1,2)*A2_0 LET F2_0=pg(2,1)*A1_0+pg(2,2)*A2_0 !----初期速度 LET dF1_0=0 LET dF2_0=0 !----解の関数 DEF F1(t)=F1_0*COS(rλp*t)-dF1_0/rλp*SIN(rλp*t) DEF F2(t)=F2_0*COS(rλm*t)-dF2_0/rλm*SIN(rλm*t) ! |A1|=|p11 p12||F1| ! |A2| |p21 p22||F2| DEF A1(t)=p(1,1)*F1(t)+p(1,2)*F2(t) DEF A2(t)=p(2,1)*F1(t)+p(2,2)*F2(t) !----run SET WINDOW -60,60,-60,60 LET r1=SQR(m1) LET r2=SQR(m2) LET tb=999 LET t0=TIME !開始 DO LET t=(TIME-t0)*5 !速さ IF t<>tb THEN LET tb=t SET DRAW mode hidden !裏ページに書く。 CLEAR PLOT TEXT ,AT 0,55:"マウス 右ボタンで、終了。" SET AREA COLOR 15 DRAW disk WITH SCALE(17)*SHIFT(-26,37) DRAW disk WITH SCALE(17)*SHIFT( 26,37) PLOT AREA:-39,-10;-13,-10;-13,20;-39,20 PLOT AREA: 13,-10; 39,-10; 39,20; 13,20 FOR y=-10 TO 50 STEP 30 FOR x=-39 TO 39 STEP 26 DRAW 振子0 WITH ROTATE(A1(t))*SHIFT(x,y) LET t=t+SQR(2) NEXT X NEXT Y SET DRAW mode explicit !裏ページの表示。 !stop END IF WAIT DELAY 0.05 MOUSE POLL mx,my,mlb,mrb !マウスの状態取得。 LOOP UNTIL mrb=1 PICTURE 振子0 SET AREA COLOR (A1(t)+PI)*1.28 DRAW circle WITH SCALE(1) DRAW 振子1(L1,r1) DRAW 振子1(L2,r2) WITH ROTATE(A2(t)-A1(t))*SHIFT(0,-L1) END PICTURE PICTURE 振子1(L,r) PLOT LINES: 0,0;0,-L DRAW disk WITH SCALE(r)*SHIFT(0,-L) END PICTURE END |