Skip to content

Instantly share code, notes, and snippets.

@Rafka86
Rafka86 / Program.cs
Last active March 14, 2018 15:52
DemoODE
using System;
using System.IO;
using static System.Math;
namespace ODEDemo {
internal static class Program {
public static void Main() {
const double ts = 0.0; //Time of start
const double te = 2.0 * PI; //Time of end
const double dt = 0.1;
@Rafka86
Rafka86 / Vector.cs
Last active July 16, 2018 17:20
シリーズで使用するプログラムに使用するVector構造体
public struct Vector {
private double[] e;
public int Length => e.Length;
public Vector(int size) => e = new double[size];
public Vector(params double[] elements) => e = elements;
public double this[int index] {
get => e[index];
set => e[index] = value;
@Rafka86
Rafka86 / NumericalModelWithODE.cs
Last active August 16, 2018 07:25
数理モデルクラス(常微分方程式)
public abstract class NumericalModelWithODE {
public Vector InitialValues { get; }
public double TimeStart { get; set; } = 0.0;
public double TimeEnd { get; set; } = 1.0;
public NumericalModelWithODE(params double[] initialValues) => InitialValues = new Vector(initialValues);
public abstract Vector Function(double t, Vector x);
}
@Rafka86
Rafka86 / Solver.cs
Last active August 16, 2018 07:26
数値計算クラス
public static class Solver {
public static double Delta { get; set; } = 0.1;
public static void Euler(NumericalModelWithODE model) => Euler(model, Console.Out);
public static void Euler(NumericalModelWithODE model, TextWriter file) {
var t = model.TimeStart;
var te = model.TimeEnd;
var x = model.InitialValues;
@Rafka86
Rafka86 / Wave.cs
Last active August 16, 2018 07:23
解であるsinとcosを数値計算で求めるプログラム。
using System.IO;
using static System.Math;
namespace EulerMethod {
class Program {
private class Wave : NumericalModelWithODE {
public Wave() : base(0.0, 1.0) => TimeEnd = 2.0 * PI;
@Rafka86
Rafka86 / ファイル選択
Last active August 12, 2018 12:44
FiringRateCalculator実行ログ -ファイル選択-
$ ./FiringRateCalculator grspk.zip
"grspk.zip"には以下のファイルが含まれています.
gr.spk.0.0 gr.spk.0.1 gr.spk.0.10 gr.spk.0.100 gr.spk.0.11 gr.spk.0.12
gr.spk.0.13 gr.spk.0.14 gr.spk.0.15 gr.spk.0.16 gr.spk.0.17 gr.spk.0.18
gr.spk.0.19 gr.spk.0.2 gr.spk.0.20 gr.spk.0.21 gr.spk.0.22 gr.spk.0.23
gr.spk.0.24 gr.spk.0.25 gr.spk.0.26 gr.spk.0.27 gr.spk.0.28 gr.spk.0.29
gr.spk.0.3 gr.spk.0.30 gr.spk.0.31 gr.spk.0.32 gr.spk.0.33 gr.spk.0.34
gr.spk.0.35 gr.spk.0.36 gr.spk.0.37 gr.spk.0.38 gr.spk.0.39 gr.spk.0.4
gr.spk.0.40 gr.spk.0.41 gr.spk.0.42 gr.spk.0.43 gr.spk.0.44 gr.spk.0.45
gr.spk.0.46 gr.spk.0.47 gr.spk.0.48 gr.spk.0.49 gr.spk.0.5 gr.spk.0.50
@Rafka86
Rafka86 / ヘルプ表示
Last active August 13, 2018 04:13
FiringRateCalculator実行ログ -ヘルプ表示-
$ ./FiringRateCalculator -h
Usage : $ ./FiringRateCalculator [FILE].zip [options]
[options]
-h|--help : Helpを表示して終了する.
-s [FILE] : 設定ファイルを指定する.
-y : 自動で"ok"を入力する.
@Rafka86
Rafka86 / 計算用の値の設定
Created August 12, 2018 12:44
FiringRateCalculator実行ログ -計算用の値の設定-
発火率計算のための情報を設定します.
入力された値はそのまま使用されるので,データの単位と合うように入力してください.
データの最終時刻 : 6000
時間窓の幅 : 1000
サンプリングレート : 0.03
ニューロンの総数 : 2114
データの読み込みを開始します.
完了しました.
発火率の計算を開始します.
完了しました.
@Rafka86
Rafka86 / 結果の出力
Created August 12, 2018 12:45
FiringRateCalculator実行ログ -結果の出力-
結果をファイルに出力します.
以下のフォーマットに従って,ニューロンIDの登録を行ってください.
>> Name [StartID]:[EndID]
Example : >> Gr 0:1023
操作を終了するには"ok"を入力してください.
>> Gr 0:1023
output/Gr.frate.gr.spk.0.0 に出力中.
>> Go 1024:2047
output/Go.frate.gr.spk.0.0 に出力中.
>> ok
@Rafka86
Rafka86 / frc.setting
Created August 12, 2018 13:03
FiringRateCalculator用設定ファイル
FileLoad gr.spk.0.0
FileLoad gr.spk.0.50
FileLoad gr.spk.0.100
EndTime 6000
TimeBin 1000
SamplingRate 0.03
NumberOfNeurons 2114
Output Gr 0:1023