Skip to content

Instantly share code, notes, and snippets.

Avatar

Katsuhiro Morishita KatsuhiroMorishita

View GitHub Profile
@KatsuhiroMorishita
KatsuhiroMorishita / マクスウェル分布のシミュレーション.ipynb
Created May 9, 2021
気体分子の速度分布はマクスウェル分布に従います。このプログラムでは、分子の衝突を繰り返して速度分布がどうなるか確認しています。物理が専門ではないので少し間違えているかもしれませんが・・・。
View マクスウェル分布のシミュレーション.ipynb
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@KatsuhiroMorishita
KatsuhiroMorishita / RTC_adjust_with_serial_monitor.ino
Created Sep 9, 2018
Arduinoに接続されたRTCの時刻をシリアルモニタで調整するサンプルプログラムです。ネット上に転がっているプログラムはビルドした時刻がセットされるものがほとんどですが、このプログラムはシリアルモニタを使って任意の日時にセットできます。デフォルトでは、Stalker v3.1に搭載されているDS1337を対象にしていますが、他のICでもほとんど改造せずに使えるはずです。
View RTC_adjust_with_serial_monitor.ino
// Arduinoに接続されたRTCの時刻をシリアルモニタで調整するサンプルプログラム
// memo: デフォルトでは、Stalker v3.1に搭載されているDS1337を対象にしていますが、他のICでもほとんど改造せずに使えるはずです。
// author: Katsuhiro Morihsita
// created: 2018-09-07
// license: MIT
#include <DS1337.h>
// RTC関係
DS1337 RTC;
@KatsuhiroMorishita
KatsuhiroMorishita / tf_checker4python.py
Last active Apr 23, 2018
文字列やベクトルや行列を含む配列の一致を判定する関数です。Pythonで行った数値計算の試験の解答用に開発しました。
View tf_checker4python.py
# 不定形のベクトルの一致を判定する
# 数値計算の試験の解答用に開発した。
# author: Katsuhiro Morishita
# created: 2018-02
# lisence: MIT
import numpy as np
import collections
def flatten(foo):
@KatsuhiroMorishita
KatsuhiroMorishita / blynk_queue_test.ino
Last active Jan 25, 2018
Blynkのnotifyは一度送信すると15秒ほど不感知となり、送信リクエストが失われます。 そこで、リクエストされたメッセージを取りこぼすことなく送信するためのクラスを作成しました。実際に利用する際はクラスを.cppファイルとしてご利用ください。なお、その場合は#include<Arduino.h>の追記が必要です。
View blynk_queue_test.ino
/*************************
blynkのnotifyは一度送信すると10秒ほど不感知となり、送信リクエストが失われます。
そこで、リクエストされたメッセージを取りこぼすことなく送信するためのクラスを作成しました。
author: Katsuhiro Morishita
created: 2018-01-25
lisence: MIT
**************************/
#include <Blynk.h>
#include <BlynkSimpleStream.h>
@KatsuhiroMorishita
KatsuhiroMorishita / chatter_resistance.ino
Last active Oct 18, 2017
チャタリング対策のクラスを実装したLEDを光らせるサンプルコードです。複数のボタンを待ち時間なしでスキャンできます。delay()を使っていないので、複数のボタンを同時に押されても判定可能です。
View chatter_resistance.ino
// purpose: チャタリング対策のテスト
// 2016年に作った気がするが、その前だったかも。
// ボタンを押すと、ただLEDが光るサンプルコード。チャタリング対策用のクラスがみそ
// author: Katsuhiro Morishita
// created: 2017-10-18
// lisence: MIT
const int led1 = 4;
const int led2 = 5;
const int butt1 = 6;
@KatsuhiroMorishita
KatsuhiroMorishita / excel2htmltable.py
Created Aug 24, 2017
Excelの表からhtmlのtableを作成するPythonのスクリプトです。縦に結合したセルがあっても大丈夫です。(横に結合したセルがあると対応できない)
View excel2htmltable.py
# Excelの表からhtmlのtableを作成する
# memo: 体育大会の試合結果をWebに掲載するために作成した。
# author: Katsuhiro Morishita
# created: 2017-08-24
# lisence: MIT
import pandas as pd
import math
import re
@KatsuhiroMorishita
KatsuhiroMorishita / data_split.py
Last active Mar 27, 2019
機械学習用に、データをランダムに並べ替えた上で分割します。学習用のデータと検証用のデータを分ける際にご利用下さい。
View data_split.py
# purpose: 機械学習用に、データをランダムに並べ替えた上で分割する
# author: Katsuhiro Morishita
# created: 2017-07-10
# license: MIT
import sys
import numpy as np
import pandas
argvs = sys.argv # コマンドライン引数を格納したリストの取得
if len(argvs) < 3:
@KatsuhiroMorishita
KatsuhiroMorishita / copy_only_utf8py.py
Created Jul 18, 2017
Pythonで扱えない文字の入っているUTF-8のファイルから、処理できる文字のみを残します。なお、副作用として、文字列が崩れる可能性があります。
View copy_only_utf8py.py
# purpose: Pythonで扱えない文字の入っているUTF-8のファイルから、処理できる文字のみを残す
# memo: 副作用として、文字列が崩れる可能性もある。
# author: Katsuhiro Morishita
# created: 2017-07-18
# license: MIT
import sys
import os
def main():
@KatsuhiroMorishita
KatsuhiroMorishita / label2value.py
Last active Jul 18, 2017
機械学習用のデータセットに含まれるラベルを整数に置換します。 「美味しい」・「不味い」とかを数値にします。 いわゆる、カテゴリデータ(質的変数)の数値への変換です。 ラベルを特徴量に含むデータに対してお使い下さい。 なお、このWebサイト( http://noumenon-th.net/programming/2016/04/21/df/ )にあるようにpandasにも変換機能はあるのですが、列を指定する必要があったり浮動小数点に変換されるなど場合によっては不都合があります。 その点でこのモジュールは有用だと思います。ただし、順序(例:上手い・普通・下手)は考慮しませんのでご注意下さい。
View label2value.py
# purpose: 機械学習用のデータセットに含まれるラベルを整数に置換する
# author: Katsuhiro Morishita
# created: 2017-07-11
# license: MIT
import sys
import pandas as pd
import math
import numpy as np
@KatsuhiroMorishita
KatsuhiroMorishita / wave_split.py
Last active Jun 22, 2017
waveファイルを一定時間ごとに切断して別のファイルとして保存するPythonのスクリプトです。今思うと、いきなり全部のデータをメモリ上に読み出さなくても良かったんですが、まぁ良いですよね?(笑)
View wave_split.py
# waveファイルを一定の時間毎に切断する
# author: Katsuhiro Morishita
# created: 2017-06-21
# lisence: MIT
import glob
import wave
import os.path
term = 60.0 # 切断後のファイルの時間幅[s]