--/--/--

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
2011/11/12

カオスでCG【Fortran95編】

友人とスカイプで話しているとき、1年次で習ったプログラミング言語「Fortran」を思い出しました。

こちら現在ではあまり使われていないのですが、史上初の高級言語であり、計算に特化したプログラミング言語です。
気象庁のスーパーコンピュータ上で走らせているプログラムにFortranが使われていると小耳に挟んだこともあります。

1年以上経って、すっかり忘却の彼方にありましたが、思い出したついでにFortranで以前このブログでも書いた「カオスでCG」のC言語ソースを書き換えてみることにしました。

今回はこちらの記事→カオスでCG(初歩)で描いた図形を再びFortranで描いてみたいと思います。

Fortran95のソース(chaosCG.f95)

!カオスでCG
program main
implicit none
doubleprecision x,y
data x,y/4.,0./
double precision sub,a,b,xshazo,yshazo
integer i
open(10,file='chaos1.dat',status='replace')
print *,'a,bを入力してください '
read *,a,b
do i=0,50000,1
sub=x
x=y-a*x+b/(1+x**2)
y=-sub
xshazo=x+y
yshazo=x-y
write (10,*) xshazo,yshazo
end do
close(10)
end program main



google-code-prettifyの中にFortranを色付けする項目がないのでソースの色が微妙ですがご容赦ください。

さてこちらを我が家のUbuntuのGnome端末を開いてコンパイルします。

$gfortran chaosCG.f95
$./a.out
a,bを入力してください
1.92
5

これで、数値が羅列された「chaos1.dat」というファイルが生成されます。
ちなみに入力している1.92と5はもちろん任意に変えることができます。後ほど、いろいろな値で描かれる図形を紹介します。
そしてこの「chaos.dat」のデータをおなじみgnuplotでプロットしていきます。

$gnuplot
gnuplot>set term jpeg
gnuplot>set output "chaosCG.jpeg"
gnuplot>plot "chaos1.dat" with points pt 5 ps 0 lt 8


出来上がった図形がこちら↓

a=1.92,b=5
a=1.92,b=5


これはカオスでCG(初歩)でも紹介した図形ですね。

では以下にパラメータa,bの値を色々に変えて出力した図形を載せます。クリックで拡大できますので、是非詳しく見てみてください。いろいろ発見する所も多いと思います。

chaosCG2.jpegchaosCG3.jpeg
a=0.14,b=5            a=-0.16,b=5
chaosCG4.jpegchaosCG5.jpeg
a=1.7,b=8            a=-0.9,b=4
chaosCG6.jpegchaosCG7.jpeg
a=0.2,b=3.14            a=0.314,b=3
chaosCG8.jpegchaosCG9.jpeg
a=-0.314,b=3            a=0.893,b=2.525



一番下の2つの図形はなんだか少々気持ち悪いですね。
今回はFortarnで遊んでみた感じで終わりにしたいと思います。ではまた次の記事で。
関連記事
スポンサーサイト

コメント

非公開コメント

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。