2022/11,江端さんの技術メモ

The target audiences of this primer are researchers and practitioners in the interdisciplinary fields of
transportation, who are specialized or interested in social science models, behavioral models, activitybased
travel demand models, lane use models, route choice models, human factors, and artificial
intelligence with applications in transportation.

こんな感じでemacsにコピペしたら、

  ← (見えないけど)半角のスペースが入っている。これで行末に" "'(半角スペース)が入る

としてから、

M-x replace-string C-q C-j (改行) (改行)

とすると、こうなる。

The target audiences of this primer are researchers and practitioners in the interdisciplinary fields of transportation, who are specialized or interested in social science models, behavioral models, activitybased travel demand models, lane use models, route choice models, human factors, and artificial intelligence with applications in transportation.

コマンド
タブ C-q C-i
改行 C-q C-j

これから濫用すると思うので、メモ

2022/11,江端さんの技術メモ

以前、

円周内の一様乱数

から、乱数の生成を作ることができました。

現在、斜め45度くらいに述びた街の位置情報を乱数で作る為に、楕円周内の一様乱数を調べていたのですが、見つけられていません。

累積密度関数が一様になるように計算式を作れば良い、ということは分かったのですが、そんなの面倒くさくてやっていられません。

ふと思ったのですが、円周内の一様乱数ではθとr を使って、乱数を使っていて、この場合、r=sqrt(乱数)を使っているのだから、θの値に応じた新しいr'を作ってそのまま放り込んでやればいいのでは、と思いつきました。

面倒なので、x軸方向の長さは1.0として、y軸方向の長さをbとすれば、

x=cosθ 、 y=b sinθ となるので、r'= sqrt(x^2+y^2) に放り込むだけ、上記の円周内の一様乱数と同じやり方でできるんじゃないの、と考えて、エクセルで試しました。ここではb=0.5にしています。

結論:上手くいきませんでした。

もう面倒くさくなったので、r' に sqrt(0~1)の乱数を使って、x=cosθ 、 y=b sinθ に乗算するだめの「なんちゃって楕円内の一様乱数」 を作って対応しました。

こんな感じです。

// 住民の居住区を計算
		shita := 2.0 * 3.141592654 * rand.Float64()
		x := 0.03296 * math.Cos(shita)
		y := 0.01893 * math.Sin(shita)
		r := math.Sqrt(rand.Float64())
		rx := r * x
		ry := r * y
		// 45度回転 + 基本座標
		x_map := 1.0/math.Sqrt(2.0)*(rx-ry) + 131.46231887576513
		y_map := 1.0/math.Sqrt(2.0)*(rx+ry) + 34.171317284454766

「ここは主戦場でなない」と腹を括って、逃げるのも、エンジニアには必須の技量です。

2022/10,江端さんの技術メモ

論文購読発表の準備をしていますが、このSEMというのがなかなか面白そうで、今、調べています、

「動かして理解する」が私の信条ですので、"R"と、"RStudio"をインストールして、

井出草平の研究ノート

を参考にして勉強させて頂いております。

install.packages("lavaan")
install.packages("semPlot")
In install.packages("XML") :
   パッケージ 'XML' のインストールは、ゼロでない終了値をもちました

→ が、上手くいかないなぁ

エラーメッセージは、

make: *** [C:/PROGRA~1/R/R-42~1.1/etc/x64/Makeconf:253: DocParse.o] Error 1
ERROR: compilation failed for package 'XML'
* removing 'C:/Users/ebata/AppData/Local/R/win-library/4.2/XML'
Warning in install.packages :
パッケージ ‘XML’ のインストールは、ゼロでない終了値をもちました

ですね。
MSYS2から、pacmanで libxml2-devel のインストールを試みています。

(ここまで)

$ pip install --upgrade pip

install.packages("XML", type = "binary") # これで上手くいった

以下、メモ

install.packages("AER")
install.packages("memisc")

library(lavaan) #lavaanパッケージの読み込み
library(AER) #AERパッケージの読み込み。
data(CPS1985) #データCPS1985の読み込み


2022/10,江端さんの技術メモ

変数や構造体などを一箇所に集めておいて、ソースコードから、#include "include.h" みたいに使うのは、Cの定番ですが、これだけのことをGoでやりたいだけなのに、酷く苦労しました。

大切なのは、ソースコードと違う場所に、そのインクルードファイルみたいなものを置きたい(×ソースコードの配下のディレクトリ)でなく、複数のgoのプロジェクトから共通して使いたい。

まあ、こんな感じです。

(人生最初のアイビスペイント+iPadの手書きです)

ソースファイルは、こんな感じです。

include.go

package include // この名前が、mail.goで使われるので覚えておいて下さい

type Person struct {  //  先頭大文字
	FirstName string // 先頭大文字 
	Age       int // 先頭大文字
}

main.go (これは、src,src2の両方で使っています)

package main

import (
	"fmt"
	"m/include"
)

func main() {
	var mike include.Person  // この "include.Person"という変数名が特徴です
	mike.FirstName = "Mike" // あとは構造体の属性を持ってくるだけ(先頭大文字を忘れないように)
	mike.Age = 20           // 同上
	fmt.Println(mike.FirstName, mike.Age) //=> Mike 20
}

で、ここからが重要なんですが、例えばsrcディレクトリの中で実行すると

PS C:\Users\ebata\dummy\go_test2\src> go run .
go: cannot find main module, but found .git/config in C:\Users\ebata
to create a module there, run:
cd ..\..\.. && go mod init

てなことを言われますので、include, src, src2の上のディレクトリで、

go mod init m // "m"でも、"mm"でも、"mmm"でも、かまわん

を実行すると、go.modができます。中身はこれだけです。

go.mod の中に、includeが書き込まれているとか、そういうことはないようです(どうなっているか分かりません)が、とりあえずsrcに移動して、main.goが動きました。

2022/10,江端さんの技術メモ

エクセルのコラムはこんな感じ

θ: RAND()*2*3.141592654

r: SQRT(RAND())

X: +B3*COS(A3)

Y: +B3*SIN(A3)

https://qiita.com/aa_debdeb/items/e416ae8a018692fc07eb

2022/10,江端さんの技術メモ

映像の切り出しをするだけなら、aviutl(現在立ち上げ不調) ではなく avidemux を試してみなさい > 私