数値計算:常微分方程式

Similar documents
1.1 ft t 2 ft = t 2 ft+ t = t+ t d t 2 t + t 2 t 2 = lim t 0 t = lim t 0 = lim t 0 t 2 + 2t t + t 2 t 2 t + t 2 t 2t t + t 2 t 2t + t = lim t 0

08-Note2-web

() x + y + y + x dy dx = 0 () dy + xy = x dx y + x y ( 5) ( s55906) 0.7. (). 5 (). ( 6) ( s6590) 0.8 m n. 0.9 n n A. ( 6) ( s6590) f A (λ) = det(a λi)

II Karel Švadlenka * [1] 1.1* 5 23 m d2 x dt 2 = cdx kx + mg dt. c, g, k, m 1.2* u = au + bv v = cu + dv v u a, b, c, d R

) a + b = i + 6 b c = 6i j ) a = 0 b = c = 0 ) â = i + j 0 ˆb = 4) a b = b c = j + ) cos α = cos β = 6) a ˆb = b ĉ = 0 7) a b = 6i j b c = i + 6j + 8)

(3) (2),,. ( 20) ( s200103) 0.7 x C,, x 2 + y 2 + ax = 0 a.. D,. D, y C, C (x, y) (y 0) C m. (2) D y = y(x) (x ± y 0), (x, y) D, m, m = 1., D. (x 2 y

I A A441 : April 21, 2014 Version : Kawahira, Tomoki TA (Kondo, Hirotaka ) Google

Gmech08.dvi

DVIOUT

,. Black-Scholes u t t, x c u 0 t, x x u t t, x c u t, x x u t t, x + σ x u t, x + rx ut, x rux, t 0 x x,,.,. Step 3, 7,,, Step 6., Step 4,. Step 5,,.

sec13.dvi

1 No.1 5 C 1 I III F 1 F 2 F 1 F 2 2 Φ 2 (t) = Φ 1 (t) Φ 1 (t t). = Φ 1(t) t = ( 1.5e 0.5t 2.4e 4t 2e 10t ) τ < 0 t > τ Φ 2 (t) < 0 lim t Φ 2 (t) = 0


85 4


A

II No.01 [n/2] [1]H n (x) H n (x) = ( 1) r n! r!(n 2r)! (2x)n 2r. r=0 [2]H n (x) n,, H n ( x) = ( 1) n H n (x). [3] H n (x) = ( 1) n dn x2 e dx n e x2

LCR e ix LC AM m k x m x x > 0 x < 0 F x > 0 x < 0 F = k x (k > 0) k x = x(t)

Excel ではじめる数値解析 サンプルページ この本の定価 判型などは, 以下の URL からご覧いただけます. このサンプルページの内容は, 初版 1 刷発行時のものです.


4 4 4 a b c d a b A c d A a da ad bce O E O n A n O ad bc a d n A n O 5 {a n } S n a k n a n + k S n a a n+ S n n S n n log x x {xy } x, y x + y 7 fx

ma22-9 u ( v w) = u v w sin θê = v w sin θ u cos φ = = 2.3 ( a b) ( c d) = ( a c)( b d) ( a d)( b c) ( a b) ( c d) = (a 2 b 3 a 3 b 2 )(c 2 d 3 c 3 d

DE-resume

数学演習:微分方程式

m dv = mg + kv2 dt m dv dt = mg k v v m dv dt = mg + kv2 α = mg k v = α 1 e rt 1 + e rt m dv dt = mg + kv2 dv mg + kv 2 = dt m dv α 2 + v 2 = k m dt d

1.2 y + P (x)y + Q(x)y = 0 (1) y 1 (x), y 2 (x) y 1 (x), y 2 (x) (1) y(x) c 1, c 2 y(x) = c 1 y 1 (x) + c 2 y 2 (x) 3 y 1 (x) y 1 (x) e R P (x)dx y 2

1. (8) (1) (x + y) + (x + y) = 0 () (x + y ) 5xy = 0 (3) (x y + 3y 3 ) (x 3 + xy ) = 0 (4) x tan y x y + x = 0 (5) x = y + x + y (6) = x + y 1 x y 3 (

基礎数学I

18 ( ) I II III A B C(100 ) 1, 2, 3, 5 I II A B (100 ) 1, 2, 3 I II A B (80 ) 6 8 I II III A B C(80 ) 1 n (1 + x) n (1) n C 1 + n C


Untitled


64 3 g=9.85 m/s 2 g=9.791 m/s 2 36, km ( ) 1 () 2 () m/s : : a) b) kg/m kg/m k

v er.1/ c /(21)

S I. dy fx x fx y fx + C 3 C vt dy fx 4 x, y dy yt gt + Ct + C dt v e kt xt v e kt + C k x v k + C C xt v k 3 r r + dr e kt S Sr πr dt d v } dt k e kt

III 1 (X, d) d U d X (X, d). 1. (X, d).. (i) d(x, y) d(z, y) d(x, z) (ii) d(x, y) d(z, w) d(x, z) + d(y, w) 2. (X, d). F X.. (1), X F, (2) F 1, F 2 F

x A Aω ẋ ẋ 2 + ω 2 x 2 = ω 2 A 2. (ẋ, ωx) ζ ẋ + iωx ζ ζ dζ = ẍ + iωẋ = ẍ + iω(ζ iωx) dt dζ dt iωζ = ẍ + ω2 x (2.1) ζ ζ = Aωe iωt = Aω cos ωt + iaω sin

2 Chapter 4 (f4a). 2. (f4cone) ( θ) () g M. 2. (f4b) T M L P a θ (f4eki) ρ H A a g. v ( ) 2. H(t) ( )

Gmech08.dvi

() n C + n C + n C + + n C n n (3) n C + n C + n C 4 + n C + n C 3 + n C 5 + (5) (6 ) n C + nc + 3 nc n nc n (7 ) n C + nc + 3 nc n nc n (

f(x,y) (x,y) x (x,y), y (x,y) f(x,y) x y f x (x,y),f y (x,y) B p.1/14

N88 BASIC 0.3 C: My Documents 0.6: 0.3: (R) (G) : enterreturn : (F) BA- SIC.bas 0.8: (V) 0.9: 0.5:

() (, y) E(, y) () E(, y) (3) q ( ) () E(, y) = k q q (, y) () E(, y) = k r r (3).3 [.7 ] f y = f y () f(, y) = y () f(, y) = tan y y ( ) () f y = f y

1 [ 1] (1) MKS? (2) MKS? [ 2] (1) (42.195k) k 2 (2) (3) k/hr [ 3] t = 0 10 ( 1 velocity [/s] 8 4 O

S I. dy fx x fx y fx + C 3 C dy fx 4 x, y dy v C xt y C v e kt k > xt yt gt [ v dt dt v e kt xt v e kt + C k x v + C C k xt v k 3 r r + dr e kt S dt d

webkaitou.dvi


( ) ( )

dynamics-solution2.dvi

d dt P = d ( ) dv G M vg = F M = F (4.1) dt dt M v G P = M v G F (4.1) d dt H G = M G (4.2) H G M G Z K O I z R R O J x k i O P r! j Y y O -

keisoku01.dvi


II A A441 : October 02, 2014 Version : Kawahira, Tomoki TA (Kondo, Hirotaka )

第1章 微分方程式と近似解法

変 位 変位とは 物体中のある点が変形後に 別の点に異動したときの位置の変化で あり ベクトル量である 変位には 物体の変形の他に剛体運動 剛体変位 が含まれている 剛体変位 P(x, y, z) 平行移動と回転 P! (x + u, y + v, z + w) Q(x + d x, y + dy,

1 1.1 [ 1] velocity [/s] 8 4 (1) MKS? (2) MKS? 1.2 [ 2] (1) (42.195k) k 2 (2) (3) k/hr [ 3] t = 0

2.2 ( y = y(x ( (x 0, y 0 y (x 0 (y 0 = y(x 0 y = y(x ( y (x 0 = F (x 0, y(x 0 = F (x 0, y 0 (x 0, y 0 ( (x 0, y 0 F (x 0, y 0 xy (x, y (, F (x, y ( (

y π π O π x 9 s94.5 y dy dx. y = x + 3 y = x logx + 9 s9.6 z z x, z y. z = xy + y 3 z = sinx y 9 s x dx π x cos xdx 9 s93.8 a, fx = e x ax,. a =

II (10 4 ) 1. p (x, y) (a, b) ε(x, y; a, b) 0 f (x, y) f (a, b) A, B (6.5) y = b f (x, b) f (a, b) x a = A + ε(x, b; a, b) x a 2 x a 0 A = f x (

B ver B

Gmech08.dvi

最新耐震構造解析 ( 第 3 版 ) サンプルページ この本の定価 判型などは, 以下の URL からご覧いただけます. このサンプルページの内容は, 第 3 版 1 刷発行時のものです.

error_g1.eps

構造と連続体の力学基礎

/Volumes/NO NAME/gakujututosho/chap1.tex i

n Y 1 (x),..., Y n (x) 1 W (Y 1 (x),..., Y n (x)) 0 W (Y 1 (x),..., Y n (x)) = Y 1 (x)... Y n (x) Y 1(x)... Y n(x) (x)... Y n (n 1) (x) Y (n 1)

9 2 1 f(x, y) = xy sin x cos y x y cos y y x sin x d (x, y) = y cos y (x sin x) = y cos y(sin x + x cos x) x dx d (x, y) = x sin x (y cos y) = x sin x

Fr

x(t) + t f(t, x) = x(t) + x (t) t x t Tayler x(t + t) = x(t) + x (t) t + 1 2! x (t) t ! x (t) t 3 + (15) Eular x t Teyler 1 Eular 2 Runge-Kutta

pdf

i

微分積分 サンプルページ この本の定価 判型などは, 以下の URL からご覧いただけます. このサンプルページの内容は, 初版 1 刷発行時のものです.

6 2 2 x y x y t P P = P t P = I P P P ( ) ( ) ,, ( ) ( ) cos θ sin θ cos θ sin θ, sin θ cos θ sin θ cos θ y x θ x θ P

1 variation 1.1 imension unit L m M kg T s Q C QT 1 A = C s 1 MKSA F = ma N N = kg m s 1.1 J E = 1 mv W = F x J = kg m s 1 = N m 1.

TOP URL 1

x ( ) x dx = ax

I A A441 : April 15, 2013 Version : 1.1 I Kawahira, Tomoki TA (Shigehiro, Yoshida )

M3 x y f(x, y) (= x) (= y) x + y f(x, y) = x + y + *. f(x, y) π y f(x, y) x f(x + x, y) f(x, y) lim x x () f(x,y) x 3 -

曲面のパラメタ表示と接線ベクトル

II 2 3.,, A(B + C) = AB + AC, (A + B)C = AC + BC. 4. m m A, m m B,, m m B, AB = BA, A,, I. 5. m m A, m n B, AB = B, A I E, 4 4 I, J, K

W u = u(x, t) u tt = a 2 u xx, a > 0 (1) D := {(x, t) : 0 x l, t 0} u (0, t) = 0, u (l, t) = 0, t 0 (2)

dx dt = f x,t ( ) t

2009 IA 5 I 22, 23, 24, 25, 26, (1) Arcsin 1 ( 2 (4) Arccos 1 ) 2 3 (2) Arcsin( 1) (3) Arccos 2 (5) Arctan 1 (6) Arctan ( 3 ) 3 2. n (1) ta

kou05.dvi

/Volumes/NO NAME/gakujututosho/chap1.tex i

ユニセフ表紙_CS6_三.indd

ii 3.,. 4. F. (), ,,. 8.,. 1. (75%) (25%) =7 20, =7 21 (. ). 1.,, (). 3.,. 1. ().,.,.,.,.,. () (12 )., (), 0. 2., 1., 0,.

A

QMI_09.dvi

1 1.1 ( ). z = a + bi, a, b R 0 a, b 0 a 2 + b 2 0 z = a + bi = ( ) a 2 + b 2 a a 2 + b + b 2 a 2 + b i 2 r = a 2 + b 2 θ cos θ = a a 2 + b 2, sin θ =

QMI_10.dvi

9. 05 L x P(x) P(0) P(x) u(x) u(x) (0 < = x < = L) P(x) E(x) A(x) P(L) f ( d EA du ) = 0 (9.) dx dx u(0) = 0 (9.2) E(L)A(L) du (L) = f (9.3) dx (9.) P

2

f : R R f(x, y) = x + y axy f = 0, x + y axy = 0 y 直線 x+y+a=0 に漸近し 原点で交叉する美しい形をしている x +y axy=0 X+Y+a=0 o x t x = at 1 + t, y = at (a > 0) 1 + t f(x, y

#A A A F, F d F P + F P = d P F, F y P F F x A.1 ( α, 0), (α, 0) α > 0) (x, y) (x + α) 2 + y 2, (x α) 2 + y 2 d (x + α)2 + y 2 + (x α) 2 + y 2 =

(1.2) T D = 0 T = D = 30 kn 1.2 (1.4) 2F W = 0 F = W/2 = 300 kn/2 = 150 kn 1.3 (1.9) R = W 1 + W 2 = = 1100 N. (1.9) W 2 b W 1 a = 0


III Kepler ( )

統計学のポイント整理

c 2006 Yoneda norimasa All rights reserved

Transcription:

( ) 1 / 82

1 2 3 4 5 6 ( ) 2 / 82

( ) 3 / 82

C θ l y m O x mg λ ( ) 4 / 82

θ t C J = ml 2 C mgl sin θ θ C J θ = mgl sin θ = θ ( ) 5 / 82

ω = θ J ω = mgl sin θ ω J = ml 2 θ = ω, ω = g l sin θ = θ ω ( ) 6 / 82

θ = ω, ω = g l sin θ θ ω θ ω ( ) 7 / 82

x = [ f (x, t) = [ θ ω ] ω g sin θ l ] θ = ω, ω = g l sin θ ẋ = f (x, t) ( ) 8 / 82

Step 1 Step 2 ( ) ( ) 9 / 82

MATLAB pendulumconstants.m classdef pendulumconstants % properties (Constant) gravity = 9.8; % g length = 2.0; % l end end ( ) 10 / 82

MATLAB dotpendulum.m function dotq = dotpendulum(t,q) % % % theta = q(1); omega = q(2); dottheta = omega; dotomega = -(pendulumconstants.gravity/... pendulumconstants.length)*sin(theta); dotq = [dottheta; dotomega]; end ( ) 11 / 82

MATLAB pendulum.m pendulumconstants; % timeinterval=0:0.1:10; % ( 0.1s) q0=[pi/3;0]; % [time,q]=ode45( dotpendulum,timeinterval,q0); plot(time,q(:,1),time,q(:,2), -- ); % ( ) 12 / 82

MATLAB >> pendulum 2.5 2 1.5 1 0.5 0-0.5-1 -1.5-2 -2.5 0 1 2 3 4 5 6 7 8 9 10 time ( ) 13 / 82

0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 0.9000 1.0000 ( ) 14 / 82 MATLAB >> time time =

1.0472 0 1.0260-0.4226 0.9630-0.8343 0.8600-1.2228 0.7199-1.5715 0.5476-1.8619 0.3500-2.0750 0.1356-2.1942-0.0852-2.2071-0.3019-2.1117-0.5043-1.9174 ( ) 15 / 82 MATLAB >> q q =

k m b f(t) mẍ = bẋ kx + f (t) ( ) 16 / 82

v = ẋ m v = bv kx + f (t) ẋ = v m v = bv kx + f (t) = x v ( ) 17 / 82

LCR L V(t) C R V (t) L i 1 C t 0 i(τ) dτ Ri = 0 ( ) 18 / 82

LCR q(t) = t 0 q = i i(τ) dτ V (t) L i 1 C q Ri = 0 q = i L i = Ri 1 C q + V (t) = q i ( ) 19 / 82

l2 y lc2 link 2 joint 1 lc1 l1 θ1 θ2 joint 2 link 1 x ( ) 20 / 82

H 11 θ1 + H 12 θ2 = h 12 θ2 2 + 2h 12 θ1 θ2 G 1 G 12 + τ 1, H 22 θ2 + H 12 θ1 = h 12 θ2 1 G 12 + τ 2 H 11 = J 1 + m 1 l 2 c1 + J 2 + m 2 (l 2 1 + l 2 c2 + 2l 1 l c2 cos θ 2 ) H 12 = J 2 + m 2 (l 2 c2 + l 1 l c2 cos θ 2 ) H 22 = J 2 + m 2 l 2 c2 h 12 = m 2 l 1 l c2 sin θ 2 G 1 = (m 1 l c1 + m 2 l 1 ) g cos θ 1 G 12 = m 2 l c2 g cos(θ 1 + θ 2 ) ( ) 21 / 82

ω 1 = θ1 ω 2 = θ2 [ H11 H 12 H 12 H 22 [ ] θ1 θ 2 ] [ ] ω1 ω 2 = = [ ω1 ω 2 ], [ h12 ω 2 2 + 2h 12 ω 1 ω 2 G 1 G 12 + τ 1 h 12 ω 2 1 G 12 + τ 2 ] θ 1, θ 2, ω 1, ω 2 = = θ 1, θ 2, ω 1, ω 2 ( ) 22 / 82

x = θ 1 θ 2 ω 1 ω 2 ẋ = f (x, t) x θ1 θ2 ω1 ω2 solve linear equations θ1 θ2 ω1 ω2 x t ( ) 23 / 82

( ) 24 / 82

(a) ẋ = 3 x (b) ẋ 2 = 9x (c) ẋ 2 = 9x (ẋ 0) { ẋ + ẏ = x (d) ẋ ẏ = y { ẋ 2ẏ = x (e) 2ẋ + 4ẏ = y 2ẋ + p = x (f) 2ẏ + 3p = y ẋ + 3ẏ = x y ( ) 25 / 82

(1 ) ẋ = f (x, t) t n = nt (n = 0, 1, 2, ) x T ( ) 26 / 82

(Euler method) (Heun method) (Runge-Kutta method) t n x x n = x(t n ) t n+1 x x n+1 = x(t n+1 ) x 0 = x(0) x n = x(nt ) (n = 1, 2, ) ( ) 27 / 82

dx/dt = 2x x(0) = 1.00 0.1 t x 0.000000 1.000000 0.100000 0.818567 0.200000 0.670052 0.300000 0.548482 0.400000 0.448969 0.500000 0.367511 0.600000 0.300833 0.700000 0.246252 0.800000 0.201573 0.900000 0.165001 1.000000 0.135065 ( ) 28 / 82

CG ( ) ( ) 29 / 82

x n+1 = x n + Tf (x n, t n ) 1 x t (x n, t n ) f (x, t) x n+1 = x((n + 1)T ) = x(nt + T ) = x(t n + T ) x n+1 = x(t n ) + ẋ(t n )T = x(t n ) + f (x(t n ), t n )T = x n + Tf (x n, t n ) ( ) 30 / 82

x Euler method xn+tk1 xn k1=f(xn,tn) O tn tn+1 t ( ) 31 / 82

x n+1 = x n + T 2 (k 1 + k 2 ), k 1 = f (x n, t n ), k 2 = f (x n + Tk 1, t n + T ) 2 (x n, t n ) (x n + Tk 1, t n + T ) f (x, t) ( ) 32 / 82

x Heun method k2 xn+tk1 Euler method xn k1 O tn tn+1 t k 1 < k 2 ẍ > 0 ( ) 33 / 82

x xn+tk1 xn Euler method k2 k1 Heun method O tn tn+1 k 1 > k 2 ẍ < 0 t ( ) 34 / 82

x n+1 = x(t n + T ) ẋ = f (x, t) x n+1 = x(t n ) + ẋ(t n )T + 1 2ẍ(t n)t 2 ẍ = f dx x dt + f dt t dt = f x ẋ + f t = f xf + f t x n+1 = x n + f (x n, t n )T + 1 2 (f xf + f t ) T 2 ( ) 35 / 82

k 2 k 2 = f (x n + Tk 1, t n + T ) = f (x n, t n ) + f x Tk 1 + f t T = f + (f x f + f t )T x n + T 2 (k 1 + k 2 ) = x n + T 2 (f + f + (f xf + f t )T ) = x n + ft + 1 2 (f xf + f t ) T 2 ( ) 36 / 82

x n+1 = x n + T 6 (k 1 + 2k 2 + 2k 3 + k 4 ), k 1 = f (x n, t n ), k 2 = f (x n + 1 2 Tk 1, t n + 1 2 T ), k 3 = f (x n + 1 2 Tk 2, t n + 1 2 T ), k 4 = f (x n + Tk 3, t n + T ) 4 x t f (x, t) ( ) 37 / 82

xn+ xn+ T 2 T 2 x k1 k2 xn k1 k2 k3 xn+tk3 k4 O tn tn+ T 2 tn+1 t ( ) 38 / 82

1 2 3 4 5 6 7 8 9 10 1 2 3 4 4 5 6 6 7 7 1 2 4 5 ( ) 39 / 82

( ) ẋ = f (x, t) x = x f = f k = k ( ) 40 / 82

MATLAB pendulum.m pendulumconstants; % timeinterval=0:0.1:10; % ( 0.1s) q0=[pi/3;0]; % [time,q]=ode45( dotpendulum,timeinterval,q0); plot(time,q(:,1),time,q(:,2), -- ); % ( ) 41 / 82

MATLAB >> pendulum 2.5 2 1.5 1 0.5 0-0.5-1 -1.5-2 -2.5 0 1 2 3 4 5 6 7 8 9 10 time ( ) 42 / 82

0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 0.9000 1.0000 ( ) 43 / 82 MATLAB >> time time =

1.0472 0 1.0260-0.4226 0.9630-0.8343 0.8600-1.2228 0.7199-1.5715 0.5476-1.8619 0.3500-2.0750 0.1356-2.1942-0.0852-2.2071-0.3019-2.1117-0.5043-1.9174 ( ) 44 / 82 MATLAB >> q q =

( ) 45 / 82

x O t ( ) 46 / 82

6 k 1 = f (x n, t n ), k 2 = f (x n + T 4 k 1, t n + 1 4 T ), k 3 = f (x n + T 32 (3k 1 + 9k 2 ), t n + 3 8 T ), k 4 = f (x n + T 2179 (1932k 1 7200k 2 + 7296k 3 ), t n + 12 13 T ), k 5 = f (x n + T ( 439 216 k 1 8k 2 + 3680 513 k 3 845 4104 k 4), t n + T ), k 6 = f (x n + T ( 8 27 k 1 + 2k 2 3544 2565 k 3 + 1859 4104 k 4 11 40 k 5), t n + 1 2 T ) ( ) 47 / 82

5 x n+1 = x n + T ( 16 135 k 1 + 6656 12825 k 3 + 28561 56430 k 4 9 50 k 5 + 2 55 k 6) 4 x n+1 = x n + T ( 25 216 k 1 + 1408 2565 k 3 + 2197 4104 k 4 1 5 k 5) x n+1 xn+1 x n+1 xn+1 ( ) 48 / 82

Step 1 Step 2 Step 3 5 x n+1 4 xn+1 ˆT { ˆT = αt ϵ x n+1 x n+1 } 1 5 Step 4 ϵ α 0.8 0.9 T ˆT ( ) 49 / 82

MATLAB pendulumvar.m pendulumconstants; timeinterval=[0,10]; % q0=[pi/3;0]; [time,q]=ode45( dotpendulum,timeinterval,q0); plot(time,q(:,1),time,q(:,2), -- ); ( ) 50 / 82

MATLAB >> pendulumvar 2.5 2 1.5 1 0.5 0-0.5-1 -1.5-2 -2.5 0 1 2 3 4 5 6 7 8 9 10 time ( ) 51 / 82

0 0.0000 0.0000 0.0000 0.0000 0.0001 0.0002 0.0002 0.0003 0.0006 0.0009 ( ) 52 / 82 MATLAB >> time time =

1.0472 0 1.0472-0.0001 1.0472-0.0001 1.0472-0.0002 1.0472-0.0002 1.0472-0.0005 1.0472-0.0007 1.0472-0.0010 1.0472-0.0012 1.0472-0.0025 1.0472-0.0037 ( ) 53 / 82 MATLAB >> q q =

m t x(t) ( k) mẍ = f collision mg, { kx x < 0 f collision = 0 otherwise m = 1 k = 100 g = 9.8 x(0) = 100 ẋ(0) = 0 ( ) 54 / 82

MATLAB collideconstants.m classdef collideconstants % properties (Constant) gravity = 9.8; mass = 1.0; spring = 100.0; end end ( ) 55 / 82

MATLAB dotcollide.m function dotq = dotcollide(t,q) % x = q(1); v = q(2); dotx = v; if x < 0 dotv = -collideconstants.gravity... -collideconstants.spring*x/collideconstants.mass; else dotv = -collideconstants.gravity; end dotq = [dotx; dotv]; end ( ) 56 / 82

MATLAB collide.m collideconstants; timeinterval=[0,50]; % q0=[100.0;0.0]; % options = odeset( RelTol,1e-8, AbsTol,[1e-8 1e-10]); [time,q]=ode45( dotcollide,timeinterval,q0,options); plot(time,q(:,1),time,q(:,2), -- ); ( ) 57 / 82

MATLAB 100 50 0-50 0 5 10 15 20 25 30 35 40 45 50 time x(t) ẋ(t) ( ) 58 / 82

MATLAB 1.4 1.2 1 time interval 0.8 0.6 0.4 0.2 0 0 5 10 15 20 25 30 35 40 45 50 time T ( ) 58 / 82

( ) 59 / 82

( ) C R<0 y l R=0 m R>0 O x mg λ ( ) 60 / 82

( ) t (x, y) C l R(x, y) = { x 2 + (y l) 2} 1 2 l = 0 R(x, y) [R x, R y ] T R x (x, y) = R x = x { x 2 + (y l) 2} 1 R y (x, y) = R y = (y l) { x 2 + (y l) 2} 1 R(x, y) = 0 ( ) 61 / 82 2, 2.

( ) [R x, R y ] T λ mẍ = λ R x (x, y), mÿ = λ R y (x, y) mg R(x, y) = 0 ( ) 62 / 82

( ) v x = ẋ vy = ẏ ẋ = v x, ẏ = v y, m v x = λ R x (x, y), m v y = λ R y (x, y) mg, R(x, y) = 0 x y v x v y λ 4 1 ( ) 63 / 82

joint 2 θ2 tip point link 2 l2 joint 5 l4 link 4 joint 4 θ4 y O x l1 link 1 θ1 joint 1 (x1,y1) link 3 joint 3 (x3,y3) θ3 l3 ( ) 64 / 82

joint 2 θ2 tip point link 2 l2 xleft [ yleft ] xright [ yright] link 4 tip point l4 joint 4 θ4 link 1 joint 1 l1 θ1 link 3 joint 3 θ3 l3 (x1,y1) (x3,y3) ( ) 65 / 82

[ ] [ ] x1 C1 + l y 1 1 S 1 [ ] [ ] x3 C3 + l y 3 3 C 3 + l 2 [ C1+2 S 1+2 + l 4 [ C3+4 S 3+4 ] ] P(x, y) = l 1 C 1 + l 2 C 1+2 l 3 C 3 l 4 C 3+4 + x 1 x 3 = 0 Q(x, y) = l 1 S 1 + l 2 S 1+2 l 3 S 3 l 4 S 3+4 + y 1 y 3 = 0 ( ) 66 / 82

H 11 ω 1 + H 12 ω 2 = f 1 + λ x ( l 1 S 1 l 2 S 1+2 ) + λ y (l 1 C 1 + l 2 C 1+2 ), H 22 ω 2 + H 12 ω 1 = f 2 + λ x ( l 2 S 1+2 ) + λ y l 2 C 1+2, H 33 ω 3 + H 34 ω 4 = f 3 + λ x (l 3 S 3 + l 2 S 3+4 ) + λ y ( l 3 C 3 l 4 C 3+4 ), H 44 ω 4 + H 34 ω 3 = f 4 + λ x l 4 S 3+4 + λ y ( l 4 C 3+4 ) f 1 = h 12 ω2 2 + 2h 12 ω 1 ω 2 G 1 G 12 + τ 1, f 2 = h 12 ω1 2 G 12, f 3 = h 34 ω4 2 + 2h 34 ω 3 ω 4 G 3 G 34 + τ 3, f 4 = h 34 ω3 2 G 34 ( ) 67 / 82

θ 1 = ω 1, θ2 = ω 2, θ3 = ω 3, θ4 = ω 4, H 11 ω 1 + H 12 ω 2 = f 1 + λ x ( l 1 S 1 l 2 S 1+2 ) + λ y (l 1 C 1 + l 2 C 1+2 ), H 22 ω 2 + H 12 ω 1 = f 2 + λ x ( l 2 S 1+2 ) + λ y l 2 C 1+2, H 33 ω 3 + H 34 ω 4 = f 3 + λ x (l 3 S 3 + l 2 S 3+4 ) + λ y ( l 3 C 3 l 4 C 3+4 ), H 44 ω 4 + H 34 ω 3 = f 4 + λ x l 4 S 3+4 + λ y ( l 4 C 3+4 ), P(x, y) = 0, Q(x, y) = 0 θ 1, θ 2, θ 3, θ 4 ω 1, ω 2, ω 3, ω 4 λ x λ y 8 2 ( ) 68 / 82

R = 0 R + 2νṘ + ν2 R = 0 ν R = ( ) R 0 = R = 0 ( ) 69 / 82

R(x, y) = 0 R(x, y) Ṙ R x (x, y) R y (x, y) Ṙ = R dx x dt + R y = R x ẋ + R y ẏ Ṙ x = R x dx x dt + R x y = R xx ẋ + R xy ẏ Ṙ y = R y dx x dt + R y y = R yx ẋ + R yy ẏ ( ) 70 / 82 dy dt dy dt dy dt

R(x, y) R R = Ṙxẋ + R x ẍ + Ṙyẏ + R y ÿ = R x ẍ + R y ÿ + (R xx ẋ + R xy ẏ)ẋ + (R yx ẋ + R yy ẏ)ẏ = R x ẍ + R y ÿ + [ ẋ ẏ ] [ ] [ ] R xx R xy ẋ R yx R yy ẏ R + 2νṘ + ν 2 R = 0 R x ẍ R y ÿ = C(x, y, ẋ, ẏ) C(x, y, ẋ, ẏ) = [ ẋ ẏ ] [ R xx R xy R yx R yy ] [ ẋ ẏ ] + 2ν(R x ẋ + R y ẏ) + ν 2 R ( ) 71 / 82

( ) mẍ = λ R x (x, y), mÿ = λ R y (x, y) mg, R(x, y) = 0 ẋ = v x, ẏ = v y, m v x λ R x (x, y) = 0, x y v x v y λ 5 m v y λ R y (x, y) = mg, R x v x R y v y = C(x, y, v x, v y ) ( ) 72 / 82

P(x, y) = x 2 + (y l) 2 R(x, y) = P 1 2 l, R x (x, y) = R x = 1 xp R y (x, y) R xx (x, y) R yy (x, y) R xy (x, y) = R yx (x, y) = R y = 2 R x 2 2, 1 = (y l)p 2, = P 1 2 x 2 P 3 2, = 2 R y = P 1 2 2 (y l) 2 P 3 2, = 2 R x y 3 = x(y l)p 2. ( ) 73 / 82

m v x λ R x (x, y) = 0, m v y λ R y (x, y) = mg, R x v x R y v y = C(x, y, v x, v y ) m 0 R x 0 m R y R x R y 0 v x v y λ = 0 mg C(x, y, v x, v y ) x, y, v x, v y = = v x, v y ( ) 74 / 82

q = x y v x v y q = f (q, t) x x y q y vx vy solve linear equations vx vy q t ( ) 75 / 82

MATLAB m = 0.01 l = 2 g = 9.8 θ(0) = (π/3) ω(0) = 0 x(0) = l sin θ(0) y(0) = l(1 cos θ(0)) v x (0) = 0 v y (0) = 0 ( ) 76 / 82

MATLAB dotpendulumcartesian.m function dotq = dotpendulumcartesian (t,q) % x = q(1); y = q(2); vx = q(3); vy = q(4); nu = pendulumcartesianconstants.nu; mass = pendulumcartesianconstants.mass; gravity = pendulumcartesianconstants.gravity; [R,Rx,Ry,Rxx,Ryy,Rxy] = calculate_r_derivatives(x,y); C = Rxx*vx*vx + Ryy*vy*vy + 2*Rxy*vx*vy +... 2*nu*(Rx*vx + Ry*vy) + nu*nu*r; ( ) 77 / 82

MATLAB A = [ mass, 0, -Rx;... 0, mass, -Ry;... -Rx, -Ry, 0 ]; b = [ 0; -mass*gravity; C ]; d = A\b; dotvx = d(1); dotvy = d(2); dotq = [vx; vy; dotvx; dotvy]; end ( ) 78 / 82

MATLAB calculate R derivatives.m function [ R, Rx, Ry, Rxx, Ryy, Rxy ] =... calculate_r_derivatives( x, y ) % R, R_x, R_y, R_xx, R_yy, R_xy length = pendulumcartesianconstants.length; P = x*x + (y-length)*(y-length); Psqrt = sqrt(p); R = Psqrt - length; Rx = x/psqrt; Ry = (y-length)/psqrt; Rxx = 1/Psqrt - x*x/p/psqrt; Ryy = 1/Psqrt - (y-length)*(y-length)/p/psqrt; Rxy = -x*(y-length)/p/psqrt; end ( ) 79 / 82

MATLAB pendulumcartesian.m pendulumconstants; %timeinterval=0:0.1:10; % timeinterval=[0,10]; % length = pendulumcartesianconstants.length; theta0 = pi/3; q0=[length*sin(theta0); length*(1-cos(theta0)); 0; 0]; [time,q]=ode45( dotpendulumcartesian,timeinterval,q0); plot(time,q(:,1),time,q(:,2), -- ); ( ) 80 / 82

MATLAB 2 1.5 1 0.5 position 0-0.5-1 -1.5-2 0 1 2 3 4 5 6 7 8 9 10 time x, y ( ) 81 / 82

MATLAB 5 4 3 2 1 velocity 0-1 -2-3 -4-5 0 1 2 3 4 5 6 7 8 9 10 time v x, v y ( ) 81 / 82

MATLAB 1.5 1 0.5 angle 0-0.5-1 -1.5 0 1 2 3 4 5 6 7 8 9 10 time θ ( ) 81 / 82

MATLAB 10-3 1 0.8 0.6 0.4 constraint 0.2 0-0.2-0.4-0.6-0.8-1 0 1 2 3 4 5 6 7 8 9 10 time R ( ) 81 / 82

ẋ = f (x, t) ( ) 82 / 82