計算するのが大変な積分に用いる置換積分で何が起きるのか 下の積分の例で見る \begin{align}\displaystyle \int x(2-x)^4 dx\end{align} \(t=2-x\)とおくと \begin{align}
麻雀の得点計算をする。5翻以上は符に関わらず同じなので子の場合を実装。 if文を使って条件分岐すればいい #i
親を決めたりするためのサイコロクラスを作る。 サイコロを定義するクラスを作り、それを2つ分宣言する。乱数の偏り
ある正則な行列\(A\)について状態遷移行列\(e^{At}\)は次のようにして求める。 \begin{ali
ゼータ関数が\(s=3\)の時の結果が無理数であるという結果である。今回はC++でアペリーの定理を計算する。
switch文を使って牌とIDを紐付ける。 とりあえずデバックのためにstringで返すようにした。 std:
z変換を使うと遅延演算子が登場する。遅延演算子をzとすると次の関係が成り立つ。 \begin{align}y(
今回は手配を更新する関数を追加する。push_backで格納すればいい。 #include
メインのプレーヤークラスの大枠を作った。 細かい関数はおいおい #include
\(n\)個のベクトル \begin{align}\sum_{i=1}^{n} a_i x_i=0\end{a
RLC直列、並列回路の共振周波数は \begin{align}f=\frac{1}{2 \pi \sqrt{L
共振回路の共振条件より \begin{align}\dot{Y}&=G+j \left ( \omeg
\begin{align}\dot{Z}&=R+j \left ( \omega L - \frac{
Windows.hが使えれば1ms程度の精度で計測ができる。読み込んで QueryPerformanceCou
これが全て。 std::complex(Re, Im) double型で受け取って
複素数のノルムを求める。ノルムは \begin{align}z=\sqrt{x^2+y^2}\end{alig
問題(https://atcoder.jp/contests/APG4b/tasks/APG4b_cu)を解い
配列に直接入れてもポインタに代入しても結果は同じ。 実行結果 0 2 4 6 8 10 12 14 16 18
MPIRをインストールしたので使ってみた。MPIRを使うと巨大な数を扱うことができるようになる。 ソースコード
行列演算ライブラリは巨大なのでコンパイルに時間がかかる。
coreのほかにLUも必要。 #include "../Eigen/core" #incl
複素電力は電圧と電流の複素共役で与えられる。 \begin{align}\dot{S} &= \dot
行列の固有値の積は行列式の値と等しくなる。これをEigenで試す。 実行結果 固有値 (16.7075,0)
Eigenで固有値と固有ベクトルを求めるにはEigen::EigenSolver< Eigen::Mat
\(A\)と\(A\)の転地の積のトレースはフロベニウスノルムの二乗と等しくなる。つまり \begin{ali
トレースにはつぎのようなの性質がある。 \begin{align}\mathrm{tr} {A1} + \ma
何度もstd~と書くのはめんどくさいので汎用print関数を作る。詳細は記事がたくさんあるので割愛。 vect
CやC++では配列を動的に確保することができないのでmallocやnewを使う。 メモリ開放をしないと大変なこ
トレースには次の性質がある。 \begin{align}tr (A+B) = tr A + tr B\end{
正方行列の対角成分の和 \begin{align}tr A = \sum_{i=1}^{n} a_{ii}\e
\(n\)個の変数による二次形式は \begin{align}f(x_1,x_2,\cdots,x_{n-1}
通流率(デューティ比)はオン時間\(T_{on}\)と総時間\(T_{on}+T_{off}\)の比で表される
行列\(A\)について、その随伴行列\(A^{*}^)との積\(AA^{*}^)を考える。この時固有値\(\l
フロベニウスノルムは \begin{align}\ A \ _{F}=\sqrt{\sum_{i=1}^{m
ベクトルを定義するときは #include "../Eigen/Dense" をインクルー
Eigenで行列の和・差・積を試す。「+」、「-」、「*」が使えるので直観的。 ソースコード #include
Eigen(https://eigen.tuxfamily.org/)は行列用の科学技術ライブラリで、ヘッダー
typedefを使うと何度も宣言しなくてよく、型のように扱える。 typedef void (*ECHO)(i
ほぼC言語。関数ポインタは void (*pecho)(int); で定義して pecho = echo; で
static_castを使えばできる y = static_cast(x); 型変
findを使うと先頭から何番目にその文字があるかを探すことができる 実行結果 1844674407370955
引数に応じて動作を変えられる。この部分 Student() { } Student(std::string n
ベクトルオペレータを使った3相交流回路の電流表現を考える。いま、各層を流れる電流\(\dot{I}_{a},
QiitaでC++のクラスの使い方が変だったので直してみた。記事については自分で探してほしい。 やりたいことは
C++によるファイル書き込みはfstreamを使えばいい。 実行結果 memo.txt Teat1 Teat2
テキストファイルを読み込むには std::ifstream memo("./memo.txt&quo
二次方程式の解の公式は \begin{align}D=\sqrt{b^2-4ac}\end{align} あと
repを使うと繰り返しを定義できる。 実行結果 i ->0 i ->1 i ->2 ソースコ
stdの機能を使ってもできるが、ここは愚直に書く。2度の大小判定をすればいい。 実行結果 数値を入力 a -&
割り算して余りを見ればいい 実行結果 45 奇数 ソースコード #include
三次元平面上に置かれた二点 \(P_{1}(x_{1},y_{1},z_{1}),P_{2}(x_{2},y_
1年の秒数は \begin{align}365 \times 24 \times 60 \times 60\e
「ブログリーダー」を活用して、しろねこさんをフォローしませんか?
計算するのが大変な積分に用いる置換積分で何が起きるのか 下の積分の例で見る \begin{align}\displaystyle \int x(2-x)^4 dx\end{align} \(t=2-x\)とおくと \begin{align}
複素関数を使えば複素数を写像できる。 ディジタル制御では \begin{align}s=e^{sT}\end{align} を使うので\(T=1\)として写像してみる 例えば下のプログラムの例では虚軸が円に写される。 x=0; y=-5:0
台形近似で積分を計算してみる Nが刻み数 minが下限、maxが上限 funcが被積分関数 N=100; min=0; max=1; t=linspace(min,max,N); dt=t(2)-t(1); S=zeros(size(t))
博士とったのでブログも再開します!
Hammerstein型非線形モデルの非線形ブロックによるゲインを\(\alpha\)とすると \begin{align}B(q^{-1}) &amp;=\alpha b_{1} q^{-1} +\alpha b_{2} q^{-2} +
\(f(x)=1\)とする。この関数を\(a\)から\(b\)まで複数回積分すると \begin{align}\int_a^b 1 dx=a-b\end{align} \begin{align}\int_a^b \int_a^b 1 dx
\begin{align}\int_{-a}^{a} f(x) dx = 2 \int_{0}^{a} f(x) dx\end{align}
奇関数の定積分には \begin{align}\int_{-a}^af(x)dx=0\end{align} が成り立つ
詳しくはここ MATLABの行列演算を使うと楽 N=10000; n=1:1:N; result=sum(1./n-log(1+1./n))
オイラーの定数とは \begin{align}\gamma=\lim_{n \to \infty} (1 + \frac{1}{2} + \cdots + \frac{1}{n} - \log n)\end{align} の極限値のことであ
クロネッカー積には次の関係が成り立つ。 \begin{align}x_1 \otimes (y_1+y_2)&amp;=x_1 \otimes y_1 + x_1 \otimes y_2 \\(x_1 + x_2 ) \otimes y_1
\(X,\mathcal{O}\)を位相空間とする。 \begin{align}{}^{\forall} x_1,x_2 \in X (x_1 \neq x_2) \hspace{2mm} {}^{\exists} \mathcal{O}_
PID制御とは比例・積分・微分の3つを組み合わせて行う制御方式である。 PID制御は次のように与えられる。 \begin{align}u(t)=K_P e(t) + K_{I} \int_0^{t} e(\tau) d\tau + K_D
正五角形の1辺の長さを1とすると正五角形の対角線の長さ\(a\)は余弦定理より \begin{align}a^2&amp;=1^2 + 1^2 - 2 \times 1 \times 1 \times \cos 108\\&amp;= 2
40枚の中から指定の五枚を引く確率は \begin{align}\frac{1}{{}_{40} C_{5}={1}{658008}\end{align} となる
ウッダル数は \begin{align}n \times 2^n -1\end{align} の形をしている数である。 MATLABでは次のように計算できる。 n=10; count=1; p=2; for i=1:1:n K(i)=i*p
カレン数は \begin{align}n \times 2^n + 1\end{align} であるが \begin{align}n \times p^n + 1\end{align} を考える。 n=10; count=1; p=3; f
カレン数は \begin{align}n \times 2^i + 1\end{align} で表される。 カレン数のうち素数のものをカレン素数という。 今回はMATLABでカレン素数を探す。 以下ソース n=10; count=1; fo
参考 RNNは入出力を等しく学習→長期的な依存性の学習が苦手
NUMBERSには横滑り現象なるものがあるらしくLSTMで学習して当てる試みがほそぼそとあるらしい Qiitaだとこれとか Github 機械学習に興味あるのでやってみようと思う
ベクトル関数がベクトルの和であるときの微分は\begin{align}\frac{d}{dt}(\boldsymbol{KA})=\boldsymbol{K} \frac{d \boldsymbol{A}}{dt}\end{align}とな
ベクトル関数がベクトルの和であるときの微分は\begin{align}\frac{d}{dt}(k\boldsymbol{A})=k\frac{d \boldsymbol{A}}{dt}\end{align}となる。
ベクトル関数がスカラー関数のときの微分は\begin{align}\frac{d \boldsymbol{A}+\boldsymbol{B}}{dt}=\frac{d \boldsymbol{A}}{dt}+\frac{d \boldsym
ベクトル関数がスカラー関数のときの微分は\begin{align}\frac{d \boldsymbol{K}}{dt}=0\end{align}となる。
ベクトル\(\boldsymbol{A}(t),\boldsymbol{B}(t)\)について\begin{align}\frac{d \boldsymbol{A}(t)}{dt}=\boldsymbol{B}(t)\end{align}の
次の式を連続の式という。\begin{align}\frac{\partial \rho}{dt} + \mathrm{div} (\rho \boldsymbol{v})=0\end{align}
ベクトルの微分は各成分ごとに微分したものと等しい。即ち\begin{align} \frac{d \boldsymbol{A}(t)}{dt}=\frac{dA_x(t)}{dt} \boldsymbol{i}+\frac{dA_y(t)}
静電場\(\boldsymbol{E}(\boldsymbol{r})\)について、\begin{align}\boldsymbol{E}(\boldsymbol{r})=- \nabla \phi (\boldsymbol{r})\end
ニュートンの運動方程式\begin{align}m \frac{d^2x(t)}{dt^2} =F\end{align}および自由落下を行っている物体に掛かる力\begin{align}F=-mg\end{align}より\begin{al
ベクトル関数の微分\(A(t)\)の微分係数は\begin{align}\frac{dA(t)}{dt}=\lim_{\delta t \to 0} \frac{A(t + \delta t)-A(t)}{\delta t}\end{ali
畳み込み積分のラプラス変換は次のようになる。\begin{align} \mathcal{L}&amp;=\int_0^{\infty}e^{-st}\int_0^tf(u)g(t-u)dudt \\&amp;=\int_0^{\infty
定義に従い計算すれば良い。\begin{align}\mathcal{L} &amp; =\int_0^\infty e^{-st} (a f(t) + b g(t)) dt \\&amp; =a \lim_{p \to \infty}
ある実数\(t\)によってベクトル\(A\)が定まる時、これをベクトル関数といい\(A(t)\)と書く。\(A(t)\)の変数が\(A_x,A_y,A_z\)であれば\begin{align}A(t)=A_x(t) \boldsymbol{
合同数の定義\begin{align} \begin{cases}X^2+Y^2=Z^2\\\displaystyle \frac{XY}{2}=n\end{cases}\end{align}楕円曲線の関係を求める。合同数の定義を平方完成す
合同数の定義\begin{align} \begin{cases}X^2+Y^2=Z^2\\\displaystyle \frac{XY}{2}=n\end{cases}\end{align}楕円曲線の関係を求める。合同数の定義を平方完成す
回路に電気エネルギーを供給する素子を電源という。外部にどんな負荷を接続しても一定の電流を出力する電源を電圧源という。理想電圧源の内部抵抗は零である。電圧源に接続された抵抗を小さくすることを考える。オームの法則より、\begin{align}
区間\((0,\infty]\)で定義された関数\(f(t)\)について次の無限積分\begin{align}\lim_{T \to \infty} \int^{T}_{0} e^{-st} f dt = \int_0^\infty e^{
合同数の定義\begin{align} \begin{cases}X^2+Y^2=Z^2\\\frac{XY}{2}=n\end{cases}\end{align}楕円曲線の関係を求める。合同数の定義を平方完成すれば\begin{align
\(n\)が合同数であるとは\begin{align}\begin{cases}x^2+y^2=z^2\\\frac{xy}{2}=n\end{cases}\end{align}となる有理数\(x,y,z\)が存在することである。
3辺の辺の長さが有理数であるような直角三角形の面積を合同数という。例:底辺を\(\frac{3}{2}\)、高さを\(\frac{20}{3}\)とすると斜辺は\begin{align}c&amp;=\sqrt{\left ( \frac{