追加課題のダウンロード

数理アルゴリズム 追加演習課題 5
提出期限: 2015/11/20 09:55
以下の課題を行い,レポートを提出すること.レポートの作成に関しては,Web ペー
ジの「課題」ページ内の項目をしっかりと確認すること. また,レポートの作成にあたっ
て参考にした文献や Web ページはその出典を明示すること.
追加課題 1
k1
m1
k2
u1 (t)
m2
k3
u2 (t)
図 1 2 質点系のバネモデル
図 1 で表わされるような両側を固定端として質点が互いにバネで繋がれているようなシ
ステムを考える.この時,各質点は以下の微分方程式を満たす.
mi
d2 ui (t)
= ki+1 (ui+1 − ui ) − ki (ui − ui−1 ), i = 1, . . . , n.
dt2
(1)
ここで,mi は各質点の質量を表し,ki は各バネのバネ定数を表す.ただし,u0 (t) =
un+1 (t) = 0 とする.この n 質点系のバネモデルにおいて,定常状態を考えると各質点は
単振動を行っていると考えることができる.よって,各質点の変位 ui (t) は以下のように
表される.
ui (t) = ai sin(ωt + ϕ).
(2)
この時,以下の問いに答えよ.
2
d
d
(1-1) 式 (2) で表される関数の時間 t に関する 1 階微分 ( dt
ui (t)),2 階微分 ( dt
2 ui (t)) を
求めよ.
(1-2) (1-1) の 2 階微分と式 (2) を式 (1) に代入し,一般化固有値問題 Kx = λM x の形
1
に表わせ.ただし,M, K は以下の形で表されるとする.

m11



M =



0

k11


k21



, K = 








0
m22
..
.
..
.
0
mnn
0
k12
k22
..
.
..
.
..
.
..
.
..
.
kn−1n−1
knn−1





.


kn−1n 
knn
(1-3) (1-2) で求めた一般化固有値問題 Kx = λM x の最大固有値とそれに対応する固有
ベクトル,および最小固有値とそれに対応する固有ベクトルを,eig を用いて求め
よ.ただし,行列サイズは n = 10 とし,mi = ki = 1, i = 1, 2, . . . , n とする.
(1-4) 以下のプログラムは固有値と固有ベクトルを受け取り,質点の動きをシミュレー
ションするプログラムである.
ソースコード 1
1
2
3
4
5
6
7
8
9
10
バネ質点系のシミュレーション
function [] = mass_anim(w, v, a, t)
n = length(v);
x = linspace(0.0, 1.0, n+2);
xlim([-0.1 1.1]);
hold on;
for i = 1:n
scatter(x(i+1)+a*v(i)*sin(w*t), 0.0, ’b’);
end
hold off;
end
引数は,w が固有値,v が固有ベクトル,a が変位のスケール,t がシミュレーション
を行う時刻である.このプログラムを用いて,n = 5, 10 における t = 0.0, 1.0, 5.0 の
シミュレーション結果をグラフに描画せよ.ただし,mi = ki = 1, i = 1, 2, . . . , n
とする.また,その際変位のスケール値 a を変更し,質点同士の重なりが無いよう
にすること.
備考:シミュレーションのアニメーションは以下のプログラムで実現可能である.
ソースコード 2
1
2
3
4
5
シミュレーションのアニメーション
for t = 0.0:0.1:5.0
clf;
mass_anim(w, v, 1.0, t);
pause(0.1);
end
2