システムとモデリング

modelica, Julia, Design Structure Matrix, SysML, 他モデリング全般について。

Julia言語 新規登録パッケージ紹介(2023/01/16~2023/01/22)

この1週間で新規に登録されたパッケージをまとめます。 ※Julia DiscourseのPackage Announcementsに書き込みがあったものが対象

discourse.julialang.org

PanelShift.jl

github.com

時間ベクトルに対する遅れを算出するプログラム

julia> t, v = [1;2;4], [1;2;3];
julia> tlag(t, v) # the default lag period is the unitary difference in t, here 1
3-element Vector{Union{Missing, Int64}}:
  missing
 1
  missing

BitPermutations.jl

github.com

ビット列の並び替えのためのパッケージ

using BitPermutations

v = [2,6,5,8,4,7,1,3]

p = BitPermutation{UInt8}(v)
## we can now apply it to a UInt8 bitstring

x = 0x08          # 0 0 0 1 0 0 0 0 (LSB -> MSB)

bitpermute(x, p)  # 0 0 0 0 1 0 0 0, or 0x10

p(x)              # idem

LearnAPI.jl

github.com

機械学習モデルの学習と応用のメソッドを提供するプログラム。

NestedGraphs.jl

discourse.julialang.org

nested graph(日本語訳不明)の解析のためのプログラム

julia> using NestedGraphs, Graphs; # initialize environment

julia> DynNG = NestedGraph{Int, SimpleGraph{Int}, AbstractGraph}; # define the abstract type we will be working with

julia> ng = DynNG()
NestedGraph{SimpleGraph{Int64},AbstractGraph}({0,0}, 0 subgraphs)

KeywordStrings

github.com

文字列補間のためのプログラム

julia> struct User
           name
           value
       end

julia> me = User("Andy", 14)
User("Andy", 14)

julia> s = kw"Hello, $name ! Your value is $value"; # a KeywordString object

julia> s % me # a regular Julia String
"Hello, Andy! Your value is 14"

julia> s % (; name="Bob", value=0) # format with any obj with a `get` method
"Hello, Bob! Your value is 0"

以上です

それぞれのパッケージの詳細まで理解できていないので魅力を伝えられていませんね……