プログラミング

MATLAB/simulink

MATLABでローパスフィルターのボード線図を書く

ローパスフィルターの伝達関数は \begin{align}H(s)=\frac{1}{1+\tau s}\end{align} このときカットオフ周波数は\(\omega=\frac{1}{\tau}\)となる。 ローパスフィルターの伝達関...
python

大学入学共通テスト2023のIIBの問1(1)

問1(1) \(x=\frac{\pi}{6}\)のとき\(\sin x □ \sin 2x\)であり、\(x=\frac{2}{3} \pi\)のとき\(\sin x □ \sin 2x\)である。 この問題は□に大小関係を補う問題である...
C/C++/C#

C++でポケモンの個体値が記録されたCSVを読み込む

targetと同じ文字列を抜き出し配列として返す。CSVはポケモンの個体値のリストでtargetにポケモンの名前を渡すとそれを探す。 以下ソース std::array < std::string, 9> readCSV(std::strin...
python

2015年センター試験数学IIBの第1問を可視化する

2015年センター試験数学IIBの第1問は \(O\)を原点とする座標平面上の2点\(P(2 \cos \theta,2 \sin \theta),Q(2 \cos \theta + 7 cos \theta,2 \sin \theta +...
MATLAB/simulink

MATLABで1/2 + 1/4 + 1/6 + 1/8 + ⋯=1を計算する

今回は \begin{align}\frac{1}{2} + \frac{1}{4} + \frac{1}{6} + \frac{1}{8} \cdots = 1\end{align} をMATLABで計算してグラフで確認する。 結果 ソー...
MATLAB/simulink

MATLABで1/4 + 1/16 + 1/64 + 1/256 + ⋯=1/3を計算する

今回は \begin{align}\frac{1}{2^2} + \frac{1}{2^4} + \frac{1}{2^6} + \frac{1}{2^8} + \cdots &=\frac{1}{3}\end{align} をMATLAB...
MATLAB/simulink

MatlabでNelder-Mead法を使う

matlabでNelder-Mead法を使うにはfminsurchを使えばいい。 fun = @(x)100*(x(2) - x(1)^2)^2 + (1 - x(1))^2; x0 = ; x = fminsearch(fun,x0);
C/C++/C#

C++で数値を二進数で表示する

bitsetを読み込めば使える。 #include<iostream> #include <bitset> int main() { std::cout << std::bitset<8>(4); }
TeX

TeXでalign環境を使う

TeXで数式を使うにはalign環境などがある。align環境を使うには \begin{align} ~数式~ \end{align} とすればいい。
TeX

! LaTeX Error: File `jlisting.sty’ not found.で怒られた時

まず「jlisting.sty」をダウンロードする。 ダウンロード出来たら解凍する。解凍できない場合は を使うといい。 解凍しで出てきたファイルをtexlive以下のディレクトリ、 \texlive\2022\texmf-dist\tex\...
プログラミング

m個移動平均とは

単純移動平均とは \begin{align}\frac{P_n+P_{n-1}+P_{n-2}+ \cdots +P_{n-m}}{m}\end{align} で表される時系列データに対する平均である。ここで\(m\)は移動平均を行う幅で、...
C/C++/C#

C++で最大公約数を求める

私の環境ではstd::gcdが使えなかったので自作した。 gcd関数が最大公約数を求める関数 サンプルコード例だと97が得られる #include<iostream> auto gcd(int x, int y) { if (x % y =...
C/C++/C#

C++で麻雀ゲームを作る その6

得点計算関数をクラス化した。 方針は各プレイヤーごとに宣言して点数計算をするイメージ class Point { public: uint32_t getPointDealer(int hang) { if (hang == 5) { re...
C/C++/C#

C++で麻雀ゲームを作る その5

麻雀の得点計算をする。5翻以上は符に関わらず同じなので子の場合を実装。 if文を使って条件分岐すればいい #include<iostream> uint32_t Point(int hang) { if (hang == 5) { retu...
C/C++/C#

C++で麻雀ゲームを作る その4

親を決めたりするためのサイコロクラスを作る。 サイコロを定義するクラスを作り、それを2つ分宣言する。乱数の偏りは今のところ考慮していない。 #include<iostream> #include <random> class dice { ...
C/C++/C#

C++でアペリーの定理を計算する

ゼータ関数が\(s=3\)の時の結果が無理数であるという結果である。今回はC++でアペリーの定理を計算する。 \begin{align}\zeta(3)=\sum_{n=1}^\infty \frac{1}{n^3}=1.2020569 \...
C/C++/C#

C++で麻雀ゲームを作る その3

switch文を使って牌とIDを紐付ける。 とりあえずデバックのためにstringで返すようにした。 std::string getPaiStr(int ID) { switch(ID){ case 1: return "萬1"; case...
C/C++/C#

遅延演算子の使い方

z変換を使うと遅延演算子が登場する。遅延演算子をzとすると次の関係が成り立つ。 \begin{align}y(t+1)&=y(t)z \\y(t-1)&=y(t)z^{-1}\end{align} 遅延演算子はそれ単体では機能せず、時系列デ...
C/C++/C#

C++で麻雀ゲームを作る その2

今回は手配を更新する関数を追加する。push_backで格納すればいい。 #include<iostream> #include<vector> class Player { public: Player() { } Player(std:...
C/C++/C#

C++で麻雀ゲームを作る その1

メインのプレーヤークラスの大枠を作った。 細かい関数はおいおい #include<iostream> #include<vector> class Player { public: Player() { } Player(std::stri...