物理の駅 Physics station by 現役研究者

テクノロジーは共有されてこそ栄える

2022-01-01から1年間の記事一覧

Python: イオンの質量

この記事の Awkward のバージョンは1.X.Xです 単一原子の基底状態のイオンの質量をPythonで求める。データは nds.iaea.org から引っ張ってきた。APIの説明。 def get_ion_mass(z, a, q): import os gs_filename = "ground_states.csv" if not os.path.exists…

Python 動的にモジュールを作成、import、再import (リロード) する

Pythonはインタプリタなので、文字列から動的なimportが可能である。 Pythonのコードの中で、NewModule.py を作って、それを読み込んでみよう。 NewModule.py に書くテキスト print(0) a = 10 + 0 Pythonコード。import importlib が重要。 module_name = "N…

複数の配列から、特定の配列で条件に合うものを削除したり、値を変えたりする

2つめの配列を条件にして、他の配列も削除したり、他の配列の値も変えたりする。 後者では、変える値は1つめから3つめまで全て同じ値になってしまう。異なる値にする方法はあるのだろうか。 import numpy as np a1 = np.array([10, 20, -30, 99, 33]) a2 = n…

Python lmfitを使って、2次元ヒストグラムを2次元正規分布でフィッティングする (1次元も)

qiita.com lmfit.github.io pip3 install lmfit で lmfitをインストールする コード import numpy as np import lmfit from lmfit.lineshapes import gaussian2d, lorentzian import matplotlib.pyplot as plt npoints=10000 np.random.seed(0) x = np.rando…

Python numpyのpolyfitで二次元データを二次関数(y=ax^2+bx+c)でフィッティング、係数と誤差を得る

phst.hateblo.jp の二次関数版 import numpy as np # データ生成 x = np.array([10.09659323, 10.40523609, 10.72069954, 11.03063238, 11.33665493, 11.6391395, 11.9381814, 12.23925842, 12.5349865, 12.82765475, 13.11407145, 13.40273189, 13.69487096…

Windows: WSL上のCentOSでGUIを使う

Ubuntuと必要な操作はほぼ同じ。 以下のサイトからCentOS7かCentOS8のZIPファイルをダウンロードする。 github.com CentOS6の環境テストをしたかったので、今回は古い方のCentOS7をダウンロードした。ZIPファイルを解凍して、CentOS7.exe を起動するとWSLに…

Windows リモートデスクトップ越しにCtrl+Alt+矢印キーが使えない

VScodeで矩形選択をするとき、Ctrl+Alt+Shift+矢印キーのショットカットキーを使う。このショートカットキーが、リモートデスクトップ (RDP)越しでは使えなかった。 キーボードチェックで確認すると、矩形選択の機能が使えないのではなく、キー入力がリモー…

Windows 10/11 で CERN ROOT6 32bit版を動かす (2022年)

Windowsネイティブ(x86)で動かす方法 (日本語) github.com Windows上のWSL (Ubuntu)上で動かす方法 (日本語) github.com かなり急いで作ったので、皆さんデバッグをよろしくお願いします。 記事公開時点で告知はまだですが、2022年度のROOT講習会もよろしく。…

Python: 正規分布同士の分離度と重なりの割合

分離度(Resolution, R)=2.5のヒストグラムがどういうのか想像できなかったので作ってみた。分離度はそれぞれの分布を正規分布としたとき、隣り合うピークの平均値の差 と、各ピークの標準偏差を使い、以下の式で定義している。 半値全幅 FWHM は なので、 と…

Python: 元素記号

periodic_table = ["H", "He",\ "Li", "Be", "B", "C", "N", "O", "F", "Ne",\ "Na", "Mg", "Al", "Si", "P", "S", "Cl", "Ar",\ "K", "Ca", "Sc", "Ti", "V", "Cr", "Mn", "Fe", "Co", "Ni", "Cu", "Zn", "Ga", "Ge", "As", "Se", "Br", "Kr",\ "Rb", "Sr",…

PythonでPanasonic製のウェブカメラの画像を定期的に保存する

参考にしたサイト qiita.com わざわざ書き直すまでもないが、一応メモとして残しておく。 import requests from requests.auth import HTTPDigestAuth import datetime from time import sleep username = "user" password = "password" url = 'http://192.1…

Windows 10のモダンスタンバイのイベント調査

手持ちのSurface Bookが、持ち運びのために閉じたにもかかわらず、1時間後もラップトップが温かいままだったのが不思議で少し調べてみた。 まずは、以下の記事を読んで欲しい。 docs.microsoft.com このモダンスタンバイ状態への遷移は、イベントビューアー…

Office 365 カレンダーに予定を追加するURLリンクを作る

どうも、公式ドキュメントはないようだ。 基本URL Microsoft Office 365 カレンダーの場合は https://outlook.office.com/calendar/action/compose? Outlook カレンダーの場合は https://outlook.live.com/calendar/action/compose? ウェブエンジニアにはお…

Python: リストを組み合わせて合計がXになる整数の組み合わせの計算

ある特定の需要から、必要な消耗品リストの金額を組み合わせて、合計額がX円になる消耗品の組み合わせ(予算X円の残額を0円にする組み合わせ)を調べたくなった。 qiita.com 上記の再帰をうまく使ったコードほぼそのままだが、予約語の置き換えとPython3への対…