next up previous
Next: 4.4 固有値を調べる Up: 4 実行の仕方 Previous: 4.2.2 固有関数を調べる

4.3 計算結果をファイルに保存する

save() コマンドを使えば計算結果をファイルに保存できる。 分割数や Poisson 比も一緒に保存することにする。 以下では、 固有値と固有ベクトルを記憶する変数の名前に分割数 N をつけている。
» poisson=0.3
» N=10
» [v10,d10]=eigs(plate_f1(N, poisson),100,0);
» save('free_0.3_10.mat','N','poisson','v10','d10');

筆者の手持ちのコンピューター (Mac, メモリーは 16GB, 32GB) では、 $ N=10,20,\dots$ と2倍にしていって、$ N=1280$ まで計算できる ($ N=2560$ ではスラッシングが起きて計算の能率が低下して実際上計算が出来ない)。

$ N=1280$ のときは、データが大きくなりすぎるため、 ファイルのフォーマットを -v7.3 というオプションで変更する必要がある。

なお、以下では $ N=1280$ を計算する前に、 clear によってメモリーの内容をクリアしている。

makedata_03.m
poisson=0.3
N=10
[v10,d10]=eigs(ita_m_f1(N,poisson),100,0);
save('free_0.3_10.mat','N','poisson','v10','d10');
N=20
[v20,d20]=eigs(ita_m_f1(N,poisson),200,0);
save('free_0.3_20.mat','N','poisson','v20','d20');
N=40
[v40,d40]=eigs(ita_m_f1(N,poisson),200,0);
save('free_0.3_40.mat','N','poisson','v40','d40');
N=80
[v80,d80]=eigs(ita_m_f1(N,poisson),200,0);
save('free_0.3_80.mat','N','poisson','v80','d80');
N=160
[v160,d160]=eigs(ita_m_f1(N,poisson),200,0);
save('free_0.3_160.mat','N','poisson','v160','d160');
N=320
[v320,d320]=eigs(ita_m_f1(N,poisson),200,0);
save('free_0.3_320.mat','N','poisson','v320','d320');
N=640
[v640,d640]=eigs(ita_m_f1(N,poisson),200,0);
save('free_0.3_640.mat','N','poisson','v640','d640');
clear
poisson=0.3
N=1280
[v1280,d1280]=eigs(ita_m_f1(N,poisson),200,0);
save('free_0.3_1280.mat','N','poisson','v1280','d1280','-v7.3');

» clear
» makedata_03

これで free_0.3_10.mat, free_0.3_20.mat, free_0.3_40.mat, $ \cdots$ , free_0.3_1280.mat が出来る。


next up previous
Next: 4.4 固有値を調べる Up: 4 実行の仕方 Previous: 4.2.2 固有関数を調べる
桂田 祐史
2014-05-27