3自由度振動シミュレータ

運動方程式
Mn : 質量(kg)
Kn : ばね定数(N/m)
Dn : 粘性減衰(N*sec/m)(速度に比例すると仮定)

M0・x0”+D0(x0’-x1’)+K0(x0-x1) = P0
M1・x1”+D0(x1’-x0’)+D1(x1’-x2’) + K0(x1-x0)+ K1(x1-x2) = P1
M2・x2”+D1(x2’-x1’)+D2・x2’+ K1(x2-x1)+ K2・x2 = P2

※ x0~xnは変位量、xn’は一回微分で速度、xn”は二回微分で加速度を表す
※ 周期関数(例:正弦波)では変位ー速度ー加速度が90度の位相差となり、
※ それぞれゼロクロスとピークの点での位相差が90度となる(サインとコサインの関係)
※ 従って、運動方程式を複素数で作成しその解を計算する
以下では運動方程式を複素数マトリックスとして作成する

ばねの接続情報
ばね 0 : 500000000 (N/m) 質量M 0 と質量M 1 に接続
ばね 1 : 1000000000 (N/m) 質量M 1 と質量M 2 に接続
ばね 2 : 500000000 (N/m) 質量M 2 と固定端に接続

粘性減衰の接続情報
粘性減衰 0 : 500 (N*sec/m) 質量M 0 と質量M 1 に接続
粘性減衰 1 : 500 (N*sec/m) 質量M 1 と質量M 2 に接続
粘性減衰 2 : 500 (N*sec/m) 質量M 2 と固定端に接続

ばね配列の要素 [ばね定数(N/m), 接続端番号, 接続端番号]
粘性減衰配列の要素 [粘性減衰(N*sec/m), 接続端番号, 接続端番号]
※接続端番号は接続している質量の番号とし、固定端は-1とする

ばね配列 = [[500000000, 0, 1], [1000000000, 1, 2], [500000000, 2, -1]]
粘性減衰配列 = [[500, 0, 1], [500, 1, 2], [500, 2, -1]]
------------------------------------
質量マトリックス(ベクトル)M0の要素
[10, 10, 10]
剛性マトリックスK0の要素
[[500000000, -500000000, 0], [-500000000, 1500000000, -1000000000], [0, -1000000000, 1500000000]]
粘性減衰マトリックスC0の要素
[[500, -500, 0], [-500, 1000, -500], [0, -500, 1000]]

連立1次方程式を [ A + jB ]{ x }={ P }
{ x }=[ C + jD ]{ P }=[ E + jF ]
として
[ C + jD ]を求めるために、マトリックス[ A ]及び[ B ]を以下のように配置し
[ A + jB ]の逆マトリックスを計算する
     [A   - B    I    0 ]
     [B    A    0    I ]
  ここで、 [ I ]は単位マトリックス
単位マトリックスi0の要素

=====================
計算結果(Bode plots)
=====================

amplitude
7.8957114064e-06
0.00113762462628
0.00418555338605
0.00916922503137
0.0161174566653
0.0250706998233
0.0360815516761
0.0492154289844
0.0645514208133
0.0821833407081
0.102221004562
0.124791766991
0.15004235703
0.178141063716
0.209280334261
0.243679862588
0.281590265054
0.323297464307
0.369127933108
0.419454989781
0.474706388689
0.535373516987
0.602022598587
0.675308425992
0.755991301935
0.844958092462
0.943248595493
1.05208885042
1.17293360912
1.30752104032
1.45794397617
1.62674383723
1.81703611954
2.03268054072
2.27851554519
2.56068746859
2.88712214002
3.26821640384
3.71787926882
4.25514786494
4.90678592497
5.71164027322
6.72831916664
8.04957752591
9.83140754593
12.3579716703
16.2071997901
22.7624591104
36.3639201801
81.2048211855
477.021864399
67.2583245314
37.1752148628
26.2904408645
20.6892690501
17.2866296705
15.0081804908
13.381791637
12.1674878373
11.2303960812
10.4888992972
9.89072485521
9.40085539846
8.99496195636
8.65562467939
8.37005194766
8.12864781784
7.9240812588
7.75066350287
7.60392081275
7.48029474451
7.37692769861
7.29150680852
7.22214853891
7.16731221195
7.12573443364
7.09637885378
7.07839733855
7.07109975502
7.0739303416
7.08644918277
7.10831769491
7.13928731057
7.17919075494
7.22793546157
7.28549879116
7.35192480706
7.4273224328
7.51186487475
7.60579024296
7.70940334648
7.82307868096
7.94726466611
8.08248923333
8.22936690956
8.38860759649
8.56102730626
8.74756119086
8.94927929589
9.16740558745
9.40334095156
9.65869106031
9.93530025255
10.2352929125
10.5611242759
10.9156431946
11.3021702087
11.7245954024
12.1875020881
12.6963245804
13.2575514908
13.878990583
14.5701180301
15.3425451521
16.2106513923
17.1924568789
18.3108473558
19.5953292717
21.0846031894
22.8304375169
24.9036783168
27.4039057202
30.4756023671
34.3365896149
39.3311161463
46.0365918832
55.4994307718
69.8253624667
93.934056702
142.240335031
273.129441951
437.417178982
200.864875153
117.921859628
82.6521192638
63.5121179119
51.5619628027
43.410313191
37.502524899
33.0285666496
29.5257414372
26.710831506
24.4008796941
22.4724803851
20.8393974684
19.4395631478
18.2271733244
17.1676930709
16.234595241
15.4071692802
14.669011963
14.0069647762
13.4103510508
12.8704186655
12.3799264973
11.9328331642
11.5240597257
11.149306631
10.8049109901
10.4877341818
10.1950725418
9.92458579613
9.67423926577
9.44225685813
9.2270825772
9.02734881487
8.84185008047
8.66952112253
8.50941862173
8.36070580641
8.22263947485
8.09455901162
7.97587706645
7.86607162733
7.76467927054
7.67128941067
7.58553940607
7.50711040206
7.43572381536
7.37113838169
7.31314770289
7.26157824312
7.21628773404
7.17716395911
7.14412389503
7.11711319689
7.09610602082
7.08110518543
7.07214268112
7.06928054415
7.0726121215
7.08226376198
7.0983969811
7.1212111601
7.15094685607
7.18788981954
7.23237584014
7.28479657104
7.34560652067
7.41533144813
7.49457846008
7.58404818585
7.68454951043
7.79701747965
7.92253517038
8.06236055699
8.21795972648
8.39104823331
8.58364298855
8.79812792109
9.03733783854
9.30466662167
9.60420836586
9.94094374895
10.3209894195
10.7519366577
11.2433188127
11.8072682789
12.4594587672
13.2204879435
14.1179593605
15.1897112677
16.4889971668
18.0931326668
20.1186121106
22.7490252478
26.290091837
31.2868908024
38.7964582925
51.0713075357
73.0804542267
108.501459867
107.850694192
70.668700442
47.7755269123
35.126600138
27.4350663239
22.3365114763
18.7315720881
16.0569535811
13.9981771847
12.3670486572
11.0444727874
9.95157544224
9.03412149749
8.25362712707
7.58204745554
6.99847213532
6.48699822642
6.03531957725
5.63376667535
5.27463792401
4.95172428573
4.65996515549
4.39519511369
4.15395477353
phase
-0.000360001279099
-0.00432221118486
-0.00829558626782
-0.0122904398922
-0.0163172349877
-0.0203866587599
-0.0245097011877
-0.0286977387067
-0.0329626246378
-0.0373167881248
-0.0417733436184
-0.0463462132875
-0.0510502651777
-0.0559014704921
-0.0609170840708
-0.0661158530368
-0.0715182597084
-0.0771468063269
-0.0830263510129
-0.0891845067718
-0.0956521185108
-0.102463837152
-0.109658815379
-0.117281556852
-0.125382960522
-0.134021615106
-0.14326541715
-0.153193611845
-0.163899391994
-0.175493242398
-0.188107292381
-0.201901050492
-0.217069062908
-0.233851293876
-0.252547429002
-0.2735369483
-0.297307881312
-0.324498967174
-0.355963125999
-0.392865967782
-0.436844192359
-0.490271153709
-0.556724924436
-0.641865233083
-0.755206953019
-0.914079059734
-1.15372266443
-1.55850166063
-2.3932215574
-5.13730700858
-149.694474041
-176.090512701
-177.932954485
-178.60294653
-178.950838134
-179.164879306
-179.310602163
-179.416805214
-179.498130014
-179.56281015
-179.615832852
-179.660396993
-179.698650196
-179.732089229
-179.76179046
-179.788548959
-179.812965892
-179.835505326
-179.856532264
-179.876338772
-179.895162345
-179.913199076
-179.930613291
-179.947544704
-179.964113824
-179.980426109
-179.996575195
179.987429448
179.971360878
179.955222385
179.938946517
179.922468802
179.905726725
179.888658836
179.871203924
179.853300263
179.834884879
179.815892833
179.796256494
179.775904788
179.754762405
179.732748933
179.709777922
179.685755822
179.660580802
179.634141391
179.606314914
179.576965676
179.545942837
179.513077899
179.478181725
179.441040973
179.4014138
179.359024647
179.31355788
179.264649949
179.21187967
179.154756069
179.09270303
179.025039738
178.95095549
178.869476893
178.779424614
178.679355585
178.567484614
178.441576296
178.298793236
178.135478462
177.946836229
177.726451148
177.46554148
177.15175787
176.767168824
176.284710197
175.661537296
174.825603261
173.6458122
171.856519416
168.828622896
162.656192921
144.457643211
70.8859955479
26.1117010582
15.1856233311
10.7211106532
8.32335822276
6.83118698167
5.81378584662
5.07565261362
4.51548235038
4.07560077761
3.7207805188
3.42829685101
3.18283591502
2.97370235696
2.7932003529
2.63565067964
2.4967703315
2.37326776116
2.26257112276
2.16264118783
2.07183967932
1.98883477387
1.91253208081
1.84202342716
1.77654830809
1.71546449025
1.65822532599
1.60436205323
1.55346984405
1.50519670369
1.45923455868
1.41531204235
1.37318860776
1.33264968672
1.29350267955
1.25557360853
1.21870430483
1.18275002645
1.1475774258
1.11306280177
1.079090584
1.04555200649
1.01234393557
0.979367823288
0.946528761711
0.91373461754
0.880895229218
0.847921650881
0.814725429156
0.781217900012
0.74730949362
0.712909035621
0.677923033258
0.642254934605
0.605804348511
0.568466211968
0.530129890274
0.490678193581
0.449986291134
0.407920501595
0.364336934196
0.31907995086
0.271980413727
0.222853675357
0.171497259873
0.117688172047
0.0611797570222
0.00169801523446
-0.0610627460967
-0.127445073315
-0.19783452553
-0.272667069991
-0.35243801711
-0.437712886294
-0.529140711063
-0.627470450398
-0.733571389551
-0.848458712091
-0.973325841911
-1.10958574399
-1.25892421932
-1.42336946267
-1.60538397856
-1.80798770463
-2.03492542732
-2.29089823085
-2.58188943685
-2.91563320958
-3.30230418878
-3.75555970417
-4.29416351622
-4.94460633117
-5.74551325285
-6.75542880928
-8.06740307738
-9.83836521632
-12.3538347428
-16.1875772779
-22.6550325489
-35.3002253828
-63.9667587281
-110.853546953
-140.20294746
-153.132482907
-159.712045975
-163.597925758
-166.141020766
-167.927973632
-169.249735266
-170.265815405
-171.070609011
-171.723414357
-172.263304245
-172.717048105
-173.10359002
-173.436707701
-173.72665823
-173.981233373
-174.206457304
-174.40706036
-174.586808343
-174.748736223
-174.895317092
-175.028586359
-175.150234418
impulse response
0.0036074805324
-0.00297400803429
-0.00442602439834
-0.00697255658444
0.012831004379
-0.00638032440752
-0.00858019503247
0.00111905408749
-0.00051680642617
0.00622456974464
-0.0108835935369
0.000635390066127
0.0108391288064
-0.00159841413548
0.000967329857969
-0.00258963785142
0.0100797566649
0.00616991117484
-0.010565989772
0.00311554842738
0.00123786704559
0.00363159732341
-0.00439802250731
-0.00678279018792
0.0102348107237
-0.00233978158219
-0.0042369509788
-0.00367521945778
-0.000412391417144
0.00633186775448
-0.00687094703213
-0.00143355291266
0.00681807071994
0.000981838430339
0.00258236277735
-0.00779713850017
0.0076927800434
0.00568372170522
-0.00523964739651
-0.000149594842141
-0.00221324270098
0.00758289430961
-0.00258272516175
-0.00656042997072
0.00578190198766
-2.92250549277e-05
0.000305426812486
-0.00489392393342
-0.00225485574911
0.00869361666489
-0.0061952219113
-0.00188741130317
4.1412192861e-05
0.00306189059473
0.00333034331725
-0.00517192153485
0.00442929996138
0.00396640453461
-0.000205285238432
-0.000971111447099
-0.00363050683025
0.00542082828006
-0.000100877375456
-0.0026734779859
0.00524085269606
-0.00160245593797
0.0043718808561
-0.00661882792409
-0.00301254690373
0.00631003319484
-0.00429157353745
-0.000593779324637
-0.00399488380418
0.00301237202215
0.00463316866057
-0.00556083045005
0.00327062309605
0.0016032021683
0.00228920658797
-6.50335436389e-05
-0.0068476175003
0.00776183582818
-0.000526515056635
-0.00207422363417
0.000326969633893
-0.0014076158916
0.00470737711642
-0.00361784648671
-0.00245757971869
0.00272192746538
-0.00149145852385
0.000607696450339
-0.00486790698166
0.00143404907516
0.00270888374752
-0.000904331824724
0.00328571495274
-0.00173494874195
0.00352171172564
0.000407041614393
-0.00585764284043
0.00414312050169
-0.000642998733859
0.000521179302852
-0.00104696560536
-0.00213886604313
0.00508235420799
-0.00210976007979
-0.000732362702354
1.95805401719e-05
-2.82002375439e-06
0.0012004429134
-0.00620876246486
0.0014922645072
0.00190778815351
-0.000977403901982
0.00167145141569
-0.00247180395958
0.00275505427283
0.000631476131402
-0.00320255302511
0.00162501820404
-0.00091830310217
0.00170638494948
-0.00121943576761
-0.00122331956727
0.00153691061274
0.000823003799441
0.00425403548546
-0.000887705736374
-0.00497209774923
0.00437324622633
-0.00736519075046
0.0023025348269
-0.00175568071115
-0.00280114241365
0.00601867654487
-0.00557488150668
0.00360942806486
-1.81829448976e-05
-0.00113391472813
0.00471746974293
-0.00401745785144
0.00329312494841
-0.000363731463305
-0.00128175454825
0.00421453899615
-0.00441423037004
0.00502750391918
-0.00169027229567
-0.00252194170354
0.00168786647168
-0.00553438582552
0.00322954209002
-0.00320105177003
-0.00157838572209
0.00349983651351
-0.00314427544896
0.00226707201929
-0.00105584951487
0.000667460123861
0.00431080408294
-0.00612875164384
0.00398190020203
-0.00176659396766
0.000504041909549
0.00196322092013
-0.00361799424762
0.00627385201167
-0.00215585027554
-0.000826989678123
0.00104587572622
-0.00350747737233
0.0035245601265
-0.00303842926552
-0.000668709174643
0.00318272718654
-0.00325547203149
0.00335734592332
-0.00313751070305
0.00178607663036
0.00210467910484
-0.00309530845705
0.00174331523061
-0.00244973767675
0.00201775966575
0.000734001937664
-0.0022507665597
0.00378840601264
-0.00109403895954
0.000522355091817
-0.000274196773683
-0.00315832676981
0.00597496987712
-0.00690006219177
0.0007745635903
0.00164247773997
-0.00269422767172
0.00269745295974
-0.00405327142227
0.00414531827207
0.00119950695939
-0.00371551054401
0.00268147034031
-0.00277333249154
0.00316772330246
-0.000399013119095
-0.00149767666932
0.00647674548217
-0.0027851785
0.00199779645099
-0.00132046326304
-0.00125138540134
0.00362211446701
-0.00410772087451
0.000523883407008
-0.000442689800852
-0.000579851036882
0.00188646569872
-0.00311618931861
0.00282466391765
7.17219204469e-05
-0.000974830648053
0.000640316543983
-0.00434458674092
0.00490935110287
-0.00241742255715
-0.00188823897504
0.00363810681716
-0.00223690950498
0.0022564712902
-0.00182779551163
-0.000184045565341
0.00325775750784
-0.00350644549078
0.00121915129961
-0.00136665867888
0.000627490602642
0.00124849400801
-0.00141775057572
0.00416649298097
-0.000734625546109
-0.000280104376064
0.000327036572872
-0.00280767913534
0.0025998794486
-0.00150721982949
-0.000378334240499
0.00143684405209
-0.00120896808556
0.00178330773734
-0.00118081816753
0.000129314117362
0.000608143088213
-0.00109052793747
0.0