C/C++/C# 遅延演算子の使い方 z変換を使うと遅延演算子が登場する。遅延演算子をzとすると次の関係が成り立つ。\begin{align}y(t+1)&=y(t)z \\y(t-1)&=y(t)z^{-1}\end{align}遅延演算子はそれ単体では機能せず、時系列データ... 2022.11.27 C/C++/C#プログラミング
C/C++/C# C++で麻雀ゲームを作る その2 今回は手配を更新する関数を追加する。push_backで格納すればいい。#include<iostream>#include<vector>class Player {public: Player() { } Player(std::str... 2022.11.26 C/C++/C#プログラミング
C/C++/C# C++で麻雀ゲームを作る その1 メインのプレーヤークラスの大枠を作った。細かい関数はおいおい#include<iostream>#include<vector>class Player {public: Player() { } Player(std::string na... 2022.11.26 C/C++/C#プログラミング
代数 一次独立と一次従属 \(n\)個のベクトル\begin{align}\sum_{i=1}^{n} a_i x_i=0\end{align}について\(a_i\)以外に解が無いとき一次独立という。\(a_i\)以外に解があるとき一次従属という。 2022.11.25 代数数学
C/C++/C# C++で共振周波数を計算する RLC直列、並列回路の共振周波数は\begin{align}f=\frac{1}{2 \pi \sqrt{LC}}\end{align}となる。これをC++で計算する。実行結果235947ソースコードmain.cppint main() {... 2022.11.23 C/C++/C#プログラミング交流電気
交流 並列回路の共振の良さ 共振回路の共振条件より\begin{align}\dot{Y}&=G+j \left ( \omega C - \frac{1}{\omega L} \right )\\\end{align}\(G\)で割って\begin{align}\f... 2022.11.22 交流電気
交流 直列回路の共振の良さ 共振回路の共振条件より\begin{align}\dot{Z}&=R+j \left ( \omega L - \frac{1}{\omega C} \right )\\\end{align}\(R\)で割って\begin{align}\f... 2022.11.21 交流電気
C/C++/C# Windows.hを使った時間計測 Windows.hが使えれば1ms程度の精度で計測ができる。読み込んでQueryPerformanceCounter(&start);//処理QueryPerformanceCounter(&end);処理を書けばいい。ソースコード#inc... 2022.11.21 C/C++/C#プログラミング
C/C++/C# C++のcomplexを使って複素数を定義する関数を作る これが全て。std::complex<double>(Re, Im)double型で受け取って放り込めば終わり。ソースコードstd::complex<double> dot(double Re, double Im) { return st... 2022.11.21 C/C++/C#プログラミング
C/C++/C# C++で複素数のノルムを求める 複素数のノルムを求める。ノルムは\begin{align}z=\sqrt{x^2+y^2}\end{align}で求められる。ソースコードdouble dot2norm(std::complex<double> dot) { return ... 2022.11.21 C/C++/C#プログラミング
C/C++/C# EX2 – エラーの修正をやってみた 問題(を解いてみた。修正箇所は「"」と「;」の付け忘れ、「5」の書き忘れ。私の環境ではbits/stdc++.hは通らないのでiostreamに変更している。あとusing namespace std;は宗教上の都合で削除した。修正前#in... 2022.11.20 C/C++/C#プログラミング
C/C++/C# ポインタを使った値の代入 配列に直接入れてもポインタに代入しても結果は同じ。実行結果024681012141618ソースコード#include<iostream>int main() { int num; int* p = # int n = 10; for... 2022.11.20 C/C++/C#プログラミング
C/C++/C# MPIRを使ってみる MPIR()をインストールしたので使ってみた。MPIRを使うと巨大な数を扱うことができるようになる。ソースコード例#include<mpir.h>#include<iostream>int main() { mpf_set_default_... 2022.11.18 C/C++/C#プログラミング
C/C++/C# Eigenで逆行列を求める coreのほかにLUも必要。#include "../Eigen/core"#include "../Eigen/LU"あとはA.inverse()とすればいい。実行結果。-0.666667 -1.33333 1-0.666667 3.66... 2022.11.16 C/C++/C#プログラミング代数数学
交流 複素電力の定義 複素電力は電圧と電流の複素共役で与えられる。\begin{align}\dot{S} &= \dot{V} \overline{\dot{I}}\\&=V_e e^{j\omega t} I_e e^{\overline{j(\omega ... 2022.11.16 交流数学解析電気
C/C++/C# 行列の固有値と行列式の関係 行列の固有値の積は行列式の値と等しくなる。これをEigenで試す。実行結果固有値 (16.7075,0)(-0.905741,0) (0.198246,0)行列式-3確かめれば\begin{align}16.7075 \times (-0.... 2022.11.14 C/C++/C#プログラミング代数数学
C/C++/C# Eigenで固有値と固有ベクトルを計算する Eigenで固有値と固有ベクトルを求めるにはEigen::EigenSolver< Eigen::MatrixXf > s(A);とした後、sに対してs.eigenvalues() とすれば固有値を、s.eigenvectors()とすれば... 2022.11.14 C/C++/C#プログラミング代数数学
C/C++/C# トレースとフロベニウスノルムの関係 \(A\)と\(A\)の転地の積のトレースはフロベニウスノルムの二乗と等しくなる。つまり\begin{align}\mathrm{tr} (A A^{T}) = \mathrm{tr} (A^{T} A) = \sum_{i=1}^{n}\... 2022.11.14 C/C++/C#プログラミング代数数学
C/C++/C# トレースの性質 トレースにはつぎのようなの性質がある。\begin{align}\mathrm{tr} {A1} + \mathrm{tr}{A2} &= \mathrm{tr} ( A1+A2 ) \\a\ \mathrm{tr} {A1} &= \ma... 2022.11.13 C/C++/C#プログラミング代数数学