Skip to content

Instantly share code, notes, and snippets.

View TonyMooori's full-sized avatar

TonyMooori TonyMooori

  • Japan
View GitHub Profile
@TonyMooori
TonyMooori / TSP_ACO.py
Last active October 19, 2023 09:32
巡回セールスマン問題(TSP)を蟻コロニー最適化(ACO)を用いて解くプログラム
#coding:utf-8
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
from scipy.spatial import distance as dis
"""
参考URL
[1] 蟻コロニー最適化 - Wikipedia https://ja.wikipedia.org/wiki/蟻コロニー最適化
[2] 任意の確率密度分布に従う乱数の生成(von Neumannの棄却法) | Pacocat's Life http://pacocat.com/?p=596
@TonyMooori
TonyMooori / extract_wave.py
Created March 7, 2016 13:19
自己相関関数を用いて周期Tを計算し,音の繰り返されている部分を抽出するプログラム
#coding:utf-8
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import wave
from scipy import signal
"""
参考
[1] 波形を見る - 人工知能に関する断創録 http://aidiary.hatenablog.com/entry/20110519/1305808715
@TonyMooori
TonyMooori / detect_color_position.py
Last active August 8, 2022 22:42
特定の色の座標を抽出するプログラム
import cv2
import numpy as np
# 0 <= h <= 179 (色相) OpenCVではmax=179なのでR:0(180),G:60,B:120となる
# 0 <= s <= 255 (彩度) 黒や白の値が抽出されるときはこの閾値を大きくする
# 0 <= v <= 255 (明度) これが大きいと明るく,小さいと暗い
# ここでは青色を抽出するので120±20を閾値とした
LOW_COLOR = np.array([100, 75, 75])
HIGH_COLOR = np.array([140, 255, 255])
@TonyMooori
TonyMooori / TSP_GA.py
Last active May 15, 2022 02:42
巡回セールスマン問題(TSP)を遺伝的アルゴリズム(GA)を用いて解くプログラム
#coding:utf-8
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
from scipy.spatial import distance as dis
class TSP:
def __init__(self,path=None,n_gene = 256,n_parent = 10,change_ratio = 0.1):
""" 初期化を行う関数 """
self.n_gene = n_gene # 一世代の遺伝子の個数
@TonyMooori
TonyMooori / sympy_lagranges.py
Created May 9, 2016 15:59
SymPyのLagrangesMethodで運動方程式の導出とコードの出力
#coding:utf-8
from sympy import *
from sympy.physics.mechanics import LagrangesMethod, Lagrangian
from sympy.physics.mechanics import ReferenceFrame, Particle, Point
from sympy.physics.mechanics import dynamicsymbols, kinetic_energy
from sympy.utilities.codegen import *
if __name__ == "__main__":
@TonyMooori
TonyMooori / RK4_KogisticEquation.c
Created March 10, 2016 07:47
4次ルンゲクッタ法によるロジスティック方程式のシミュレーションの実装例です
/* 4次ルンゲクッタ法によるロジスティック方程式の解の計算 */
#include <stdio.h>
#define K 1000.0 // 個体数のしきい値
#define r 0.9 // 1個体の増加率
#define N_LOOP 10000 // ループ回数
// 積分する関数g(t,N)
double g(double t,double N_t){
return r*(K-N_t)*N_t/K;
@TonyMooori
TonyMooori / pyserial_demo2.py
Last active February 26, 2021 18:20
pyserialでシリアルポート一覧を表示し選択させて,読み込むプログラム
import serial
from serial.tools import list_ports
import time
def select_port():
ser = serial.Serial()
ser.baudrate = 19200 # ArduinoのSerial.beginで指定した値
ser.timeout = 0.1 # タイムアウトの時間
ports = list_ports.comports() # ポートデータを取得
@TonyMooori
TonyMooori / Torricelli_s_law.f90
Created April 15, 2016 13:12
The simulation of Torricelli's law by Fortran.
!
! The simulation of Torricelli's law
!
program pendulum
implicit none
real,parameter :: g = 9.80665 ! gravity acceleration
real,parameter :: dt = 1e0 ! delta time
! initial value of theta and diff_theta
@TonyMooori
TonyMooori / pyserial_demo.py
Created February 11, 2016 15:13
シリアルポートからpyserialでデータを受け取る
#coding:utf-8
import time
import serial
import sys
"""
参考: pyserial公式ドキュメント
[1]サイトトップ http://pythonhosted.org/pyserial/
[2]API一覧 http://pythonhosted.org/pyserial/pyserial_api.html
[3]イントロダクション http://pythonhosted.org/pyserial/shortintro.html
@TonyMooori
TonyMooori / ImageEdgeTSP.py
Created February 16, 2016 15:57
画像のエッジを検出して巡回セールスマン問題として一筆書きの経路を探索するプログラム
#coding:utf-8
import cv2
import numpy as np
import time
import matplotlib.pyplot as plt
import pandas as pd
from scipy.spatial import distance as dis
"""
参考URL