C/C++/C# C++で汎用print関数を作る 何度もstd~と書くのはめんどくさいので汎用print関数を作る。詳細は記事がたくさんあるので割愛。vectorなど工夫しないと使えないものもあるが、数値、文字関係なく使える。template <class T> void mytprint... 2022.11.12 C/C++/C#プログラミング
C/C++/C# C++における配列の動的な宣言 CやC++では配列を動的に確保することができないのでmallocやnewを使う。メモリ開放をしないと大変なことになるので注意。実行結果要素数は?->3数を入力->2数を入力->1数を入力->42,1,4,ソースコード。#include <i... 2022.11.11 C/C++/C#プログラミング
C/C++/C# トレースの性質 その1 トレースには次の性質がある。\begin{align}tr (A+B) = tr A + tr B\end{align} 今回はこれをC++で計算する。実行結果1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,1... 2022.11.11 C/C++/C#プログラミング代数数学
C/C++/C# C++でトレースを求める 正方行列の対角成分の和\begin{align}tr A = \sum_{i=1}^{n} a_{ii}\end{align}をトレースという。今回はこれをC++で計算する。実行結果1,2,3,4,5,6,7,8,9,15ソースコード#in... 2022.11.10 C/C++/C#プログラミング代数数学
代数 二次形式の定義 \(n\)個の変数による二次形式は\begin{align}f(x_1,x_2,\cdots,x_{n-1},x_n)=\sum_{i=1,j=1}^{n} c_{i,j} x_i x_j\end{align}\(n=2\)の時は定数\(x... 2022.11.08 代数数学
機械 通流率(デューティ比)の定義 通流率(デューティ比)はオン時間\(T_{on}\)とオフ時間\(T_{off}\)を用いて\begin{align}D=\frac{T_{on}}{T_{on}+T_{off}}\end{align} 2022.11.08 機械電子回路電気
代数 行列の特異値 行列\(A\)について、その随伴行列\(A^{*}\)との積\(AA^{*}\)を考える。この時固有値\(\lambda(AA^{*})\)の平方根を\begin{align}\sigma(A)=\sqrt{AA^{*}}\end{alig... 2022.11.07 代数数学
C/C++/C# C++でフロベニウスノルムを計算する フロベニウスノルムは\begin{align}\| A \|_{F}=\sqrt{\sum_{i=1}^{m} \sum_{j=1}^{n} \left |a_{ij} \right |}\end{align}で計算できる。一次元配列に行列... 2022.11.06 C/C++/C#プログラミング代数数学
C/C++/C# Eigenで内積と外積を計算する ベクトルを定義するときは#include "../Eigen/Dense"をインクルードしてEigen::Vector3d x(1, 2, 3);とすればベクトルが定義できるので、内積と外積をx.dot(y)x.cross(y)で計算する。... 2022.11.06 C/C++/C#プログラミング代数数学
C/C++/C# Eigenで行列の和・差・積を試す Eigenで行列の和・差・積を試す。「+」、「-」、「*」が使えるので直観的。ソースコード#include <iostream>#include "../Eigen/core"int main() { int n = 2; Eigen::M... 2022.11.06 C/C++/C#プログラミング代数数学
C/C++/C# Eigenをインストールして使ってみた Eigen(は行列用の科学技術ライブラリで、ヘッダーだけ読み込めば動く。ダウンロードしたファイルを展開するとEigenというファイルがあるのでそれを適当な場所に置き#include "../Eigen/core"としてcoreにパスを通せば... 2022.11.06 C/C++/C#プログラミング代数数学
C/C++/C# typedefと合わせた関数ポインタの使い方 typedefを使うと何度も宣言しなくてよく、型のように扱える。typedef void (*ECHO)(int);ソースコード#include <iostream>typedef void (*ECHO)(int);void echo(i... 2022.11.05 C/C++/C#プログラミング
C/C++/C# C++の関数ポインタについて 内容はC言語。関数ポインタはvoid (*pecho)(int);で定義してpecho = echo;で参照設定する。関数ポインタの定義は参照元の関数の返り値と引数の型void echo(int x) { std::cout << x;}が... 2022.11.05 C/C++/C#プログラミング
C/C++/C# C++で型変換をする static_castを使えばできる y = static_cast<double>(x);型変換した後する前と変換後で型を調べる。実行結果intdoubleソースコード#include <iostream>#include <typein... 2022.11.05 C/C++/C#プログラミング
C/C++/C# C++のfindを使ってみる findを使うと先頭から何番目にその文字があるかを探すことができる実行結果184467440737095516150存在しませんちなみにこれらのコードはどれも同じ動作をする。autoの動作が原因。 if (str1.find("z") ==... 2022.11.05 C/C++/C#プログラミング
C/C++/C# C++でコンストラクタをオーバーロードする 引数に応じて動作を変えられる。コンストラクタの定義はこの部分 Student() { } Student(std::string name, int jpn, int math, int eng) { m_name = name; m_ma... 2022.11.04 C/C++/C#プログラミング
電力 ベクトルオペレータを含む行列の逆行列について ベクトルオペレータを使った3相交流回路の電流表現を考える。いま、各層を流れる電流\(\dot{I}_{a}, \dot{I}_{b}, \dot{I}_{c}\)と零相電流\(\dot{I}_{c}\)、正相電流\(\dot{I}_{a}\... 2022.11.04 電力電気
C/C++/C# Qiitaの質問にあったC++のクラスの使い方が変だったので直してみた Qiitaの質問にあったC++のクラスの使い方が変だったので直してみた。記事については自分で探してほしい。やりたいことは生徒の成績をクラスに入れて管理すること。実行結果tanaka304050satoh206064takahashi7080... 2022.11.03 C/C++/C#プログラミング
C/C++/C# C++によるファイル書き込み C++によるファイル書き込みはfstreamを使えばいい。実行結果memo.txtTeat1Teat2ソースコードmain.cpp#include <fstream>#include <iostream>#include <string>i... 2022.11.03 C/C++/C#プログラミング
C/C++/C# C++でテキストファイルを読み込む テキストファイルを読み込むにはstd::ifstream memo("./memo.txt");とすればいい。fopenよりも便利。あとはstring型で定義した変数に読み込んだ文字列を放り込めばいい。実行結果hello worldソースコ... 2022.11.02 C/C++/C#プログラミング