Skip to content

Instantly share code, notes, and snippets.

View KatsuhiroMorishita's full-sized avatar

Katsuhiro Morishita KatsuhiroMorishita

View GitHub Profile
@KatsuhiroMorishita
KatsuhiroMorishita / vector.vba
Last active February 19, 2017 08:15
VBAで実装したベクトルの関数群です。基本的な計算なら対応しています。足し算、引き算、スカラー倍、内積、外積、ノルム、正規化です。
Function vector_plus(vect1, vect2)
' ベクトルの足し算
ans = vect1 ' deep copy (たぶん、ディープコピー)
For i = 0 To UBound(ans)
ans(i) = vect1(i) + vect2(i)
Next i
vector_plus = ans
End Function
@KatsuhiroMorishita
KatsuhiroMorishita / newton.vba
Created February 19, 2017 08:17
VBAでニュートン法を実装した例です。
Function my_func(x)
' とある関数(数学)の計算結果を返す
my_func = 100 * x ^ 2 + 50 * x - 500
End Function
Function diff(x, dx)
' 1階微分の結果を返す
diff = (my_func(x + dx) - my_func(x)) / dx
End Function
@KatsuhiroMorishita
KatsuhiroMorishita / scoring.py
Last active March 15, 2017 00:04
数値計算の計算結果を評価するPythonスクリプトです。
"""
数値計算の計算結果を評価する
"""
def flatten(foo):
""" 多次元配列を1次元配列に変換する
"""
series = []
for mem in foo:
if isinstance(mem, list):
@KatsuhiroMorishita
KatsuhiroMorishita / multi_regression_data_creator.py
Last active May 18, 2017 07:04
重回帰分析に利用できるサンプルデータを自動的に生成する。
# purpose: 重回帰分析用のサンプルデータを自動的に作成する
# author: Katsuhiro Morishita
# created: 2017-05-18
# license: MIT
import numpy as np
size = 5 # 説明変数の数
def ndarray2str(val):
""" ndarray型の変数を文字列に変換する
@KatsuhiroMorishita
KatsuhiroMorishita / wave_split.py
Last active June 22, 2017 16:05
waveファイルを一定時間ごとに切断して別のファイルとして保存するPythonのスクリプトです。今思うと、いきなり全部のデータをメモリ上に読み出さなくても良かったんですが、まぁ良いですよね?(笑)
# waveファイルを一定の時間毎に切断する
# author: Katsuhiro Morishita
# created: 2017-06-21
# lisence: MIT
import glob
import wave
import os.path
term = 60.0 # 切断後のファイルの時間幅[s]
@KatsuhiroMorishita
KatsuhiroMorishita / label2value.py
Last active July 18, 2017 11:58
機械学習用のデータセットに含まれるラベルを整数に置換します。 「美味しい」・「不味い」とかを数値にします。 いわゆる、カテゴリデータ(質的変数)の数値への変換です。 ラベルを特徴量に含むデータに対してお使い下さい。 なお、このWebサイト( http://noumenon-th.net/programming/2016/04/21/df/ )にあるようにpandasにも変換機能はあるのですが、列を指定する必要があったり浮動小数点に変換されるなど場合によっては不都合があります。 その点でこのモジュールは有用だと思います。ただし、順序(例:上手い・普通・下手)は考慮しませんのでご注意下さい。
# purpose: 機械学習用のデータセットに含まれるラベルを整数に置換する
# author: Katsuhiro Morishita
# created: 2017-07-11
# license: MIT
import sys
import pandas as pd
import math
import numpy as np
@KatsuhiroMorishita
KatsuhiroMorishita / copy_only_utf8py.py
Created July 18, 2017 12:09
Pythonで扱えない文字の入っているUTF-8のファイルから、処理できる文字のみを残します。なお、副作用として、文字列が崩れる可能性があります。
# purpose: Pythonで扱えない文字の入っているUTF-8のファイルから、処理できる文字のみを残す
# memo: 副作用として、文字列が崩れる可能性もある。
# author: Katsuhiro Morishita
# created: 2017-07-18
# license: MIT
import sys
import os
def main():
@KatsuhiroMorishita
KatsuhiroMorishita / 機械学習環境の作り方 ver 2017-02.md
Last active July 20, 2017 06:34
この資料は、2017-03-10に開催されるKIS主催の機械学習勉強会の環境構築ガイドです。ここに紹介しているものを全て使う訳ではありませんが、インストールしておくと便利だと思います。
@KatsuhiroMorishita
KatsuhiroMorishita / chatter_resistance.ino
Last active October 18, 2017 13:35
チャタリング対策のクラスを実装したLEDを光らせるサンプルコードです。複数のボタンを待ち時間なしでスキャンできます。delay()を使っていないので、複数のボタンを同時に押されても判定可能です。
// 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 / blynk_queue_test.ino
Last active January 25, 2018 14:57
Blynkのnotifyは一度送信すると15秒ほど不感知となり、送信リクエストが失われます。 そこで、リクエストされたメッセージを取りこぼすことなく送信するためのクラスを作成しました。実際に利用する際はクラスを.cppファイルとしてご利用ください。なお、その場合は#include<Arduino.h>の追記が必要です。
/*************************
blynkのnotifyは一度送信すると10秒ほど不感知となり、送信リクエストが失われます。
そこで、リクエストされたメッセージを取りこぼすことなく送信するためのクラスを作成しました。
author: Katsuhiro Morishita
created: 2018-01-25
lisence: MIT
**************************/
#include <Blynk.h>
#include <BlynkSimpleStream.h>