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) では、 と2倍にしていって、 まで計算できる ( ではスラッシングが起きて計算の能率が低下して実際上計算が出来ない)。
のときは、データが大きくなりすぎるため、 ファイルのフォーマットを -v7.3 というオプションで変更する必要がある。
なお、以下では を計算する前に、 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, , free_0.3_1280.mat が出来る。