Fortran から外部コマンドを実行するサブルーチンは、Fortran2008 から規格に入りました。IntelFortran ではまだ実装されていないようです。(大抵の処理系では、昔から独自拡張でシステムコールサブルーチンが用意されていましたが・・・)
program Python implicit none integer :: i real, allocatable :: x(:), y(:) open(9, file = 'test.py', status = 'unknown') write(9, '(a)') 'import matplotlib.pyplot as plt' x = [(0.1 * i, i = 1, 1000)] y = sin(x) write(9, '(a, *(g0,","))') 'x=[', x write(9, '(a)') ']' write(9, '(a, *(g0,","))') 'y=[', y write(9, '(a)') ']' write(9, '(a)') 'plt.plot(x, y)' write(9, '(a)') 'plt.show()' close(9) ! print *, 'starting matplotlib' call system('python test.py') ! call execute_command_line('')! Fortran2008 stop ' normal end' end program Python
ださいやり方だが、サブルーチン化して単に、x、yの配列渡すだけにすれば見かけ上は簡便なグラフプロットに使えるかも・・・
Python だるくてコマンド覚えられない。Fortran の楽さに比べると苦行杉。まぁ昔の BASIC みたいなもんだと思って我慢か。