F..4 MATLABの meshgrid() 相当の関数を作った -- そんなの不要

私の場合、 プログラムは一から新しく書くことはまれで、 最初は何かを下敷きにして作り、 後から使っている言語、ライブラリィの特徴を生かすように改良して行く、 という書き方をしている。

そういうわけで、 (格子点上の関数値を計算するために) MATLAB のプログラムの真似をして meshgrid() に相当することをしようとして、 一応出来て、それで動作するプログラムを書いたのだが…

# MATLABの meshgrid() の真似
# 参考 https://qiita.com/yshutaro/items/54d64c406f624545429a
# xx,yy=meshgrid(x,y); fv=f.(xx,yy) の代わりに fv=f.(x',y) でOKとか
function meshgrid(x,y)
  m=size(x)[1]
  n=size(y)[1]
  ones(n)*x',y*ones(m)'
end

    x=range(0.0, W, length=nx+1)
    y=range(0.0, H, length=ny+1)
    xx,yy=meshgrid(x,y) # xx, yy は (ny+1)×(nx+1) Array になる
    fv=f.(xx,yy) # fv[j,i] は f の xi,yj での値

こんなことが出来る (こうすると meshgrid() は不要)
   x=range(0.0, W, length=nx+1)
   y=range(0.0, H, length=ny+1)
    fv=f.(x',y)  # fv[j,i] は f の xi,yj での値



桂田 祐史