投稿

ブログの説明

学校に通わないで学んだことを記しています。間違っているところが何かありましたらご指摘下さると幸いです。コメントに対する返信が遅れる可能性があります。その場合は申し訳ございません。

このブログでは広告を表示しています。このブログ内の投稿記事を検索するには右上の拡大鏡のアイコンを、アーカイブやラベル付けから投稿記事を閲覧するには左上の三重線のアイコンをクリックして下さい。

数式の表示にはMathJaxを利用させていただいています。数式の表示のためにJavaScriptが有効である必要があります。そうでない場合、訳の分からないLaTeXのコードが表示されます。幾何学図形やチャートの表示にはHTML5 CanvasやGoogle Chartを使用しています。その表示のためにもJavaScriptが有効である必要があります。

速さ、時間、距離の関係、及び除数や分母が未知数の方程式

速さの 平均 へいきん 、 距離 きょり 、 時間 じかん の関係は次のとおり。距離は道のりと呼ばれることもある。 \begin{align*} 速さの平均 &= 距離 \div 時間 \\ 時間 &= 距離 \div 速さの平均 \\ 距離 &= 速さの平均 \times 時間 \end{align*} 速さの平均とは? 距離をかかった時間で割ったもの。時間分の距離。 かかった時間とは? 距離を速さの平均で割ったもの。速さの平均分の距離。 距離とは? 速さの平均をかかった時間 倍 ばい したもの、または、かかった時間を速さの平均倍したもの。 ただし、速さの平均、時間、距離には、その計り方の目盛りになる各々の単位がそれぞれ付く。時間の単位は例えば秒(s)、分(m)、時間(h)など。距離の単位はメートル法を用いるならば例えばメートル(m)とかキロメートル(km)など。速さの平均の単位は例えば時速何キロメートル(km/h)、秒速何メートル(m/s)など。 方程式を使って代数的に解く 方程式 ほうていしき の解き方が分かっている場合、これら3つの関係式を3つとも覚える必要はないかもしれない。方程式とは式の答えは分かっているがその式の一部の数が欠けているような式のこと。欠けている数は 未知数 みちすう と呼ばれ、それを文字に置き換えて 代数 だいすう 的なやり方で解く。 例えば次のような式が方程式。\( x \)が未知数。 \[ x + 5 = 10 \] \[ \colorbox{yellow}{\(10 - x = 5\)} \] \[ 2x = 10 \] \[ \dfrac{x}{2} = \dfrac{5}{2} \] \[ \colorbox{yellow}{\(\dfrac{25}{x} = 5\)} \] 黄色く色付けされている方程式は少し見馴れないかもしれない。1つは引き算の引く数が未知数であり、もう1つは分母が未知数である方程式。 黄色く色付けされていない方程式は 移項 いこう という方法によって解くことができる。これは未知数が属す辺から未知数以外の定数を取り除くために逆演算を使う。逆演算とは足し算に対する引き算、引き算に対する足し算、掛け算に対する割り算、割り算に対する足し算のこと...

MariaDBかMySQLでSELECTステートメント色々 - その1

この記事で使用しているソフトウェア環境は、OSとしてDebian GNU/Linux 10を使用し、その公式リポジトリからMariaDBというデータベースをインストールしてある。 $ cat /etc/os-release PRETTY_NAME="Debian GNU/Linux 10 (buster)" ... $ mariadb --version mariadb Ver 15.1 Distrib 10.3.27-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2 しかし、記事内容のほとんどはSQLに関するものであり、オペレーティング・システムの環境には依存しないはず。 データを選び出すSELECT構文 SELECT構文はその名のとおり、1つまたは2つ以上のデータベース・テーブルからデータを選択して取得するために用いることができる。FROM句ではその対象とするテーブル名を1つまたは2つ以上指定することができる。 SELECT構文のもっとも単純な形式は次のようになる。 SELECT レコード名1,レコード名2,... FROM テーブル名1,テーブル名2,...; SELECT構文はSQLなので構文の終わりに文末を示す;(セミコロン)が必要。 多くの場合、テーブル全体を選択するためにレコード名の代わりに*(アスタリスク)が用いられている。 SELECT * FROM テーブル名; レコードを絞り込んで選ぶにはWHERE句に条件式を指定する。 SELECT レコード名1,レコード名2,... FROM テーブル名1,テーブル名2,... WHERE 条件式; 等価演算子 もっとも単純な条件式は「レコード名 = 値」のようなものになる。*(アスタリスク)は全てを意味する。SELECT *は全ての列(レコード)。 SELECT * FROM テーブル名 WHERE レコード名 = 値; =(イコール)は等価演算子と呼ばれている。値が数値型以外では'(一重引用符)で挟む必要がある。 MariaDB [mydatabase]> SELECT * FROM persons; +----+-----------+-----------+-----...

e-Statの統計データをデータベース(MariaDB)に取り込む

データセットをダウンロード 政府統計のポータルサイト e-Stat からCSV形式のデータをダウンロードし、それをMaridDBに取り込んで利用してみることにした。 e-Stat にアクセスし、総合案内メニューの「統計データを探す」-「データベース」-「分野から探す」-[人口・世帯」を選んだ。 「政府統計一覧」の中から「人口推計」を選んだ。 「人口推計」の一覧から例えば最新のものを選んだ。この時点では「2019年10月1日現在人口推計」だった。 「データセット一覧」の中から「都道府県別人口の割合-総人口」の「DB」を選んだ。 「ダウンロード」を押した。 「ダウンロード設定」の「ファイル形式」において「CSV形式(列指向形式)」にチェックを入れた。そして「ダウンロード」を押して更に「ダウンロード」を押し、CSVファイルをローカルディスク上にJapans_population_by_preference_and_gender.csvという名前で保存した。 ダウンロードしたCSVファイルの中身 e-Stat からダウンロードしたCSVファイルの文字コードはShift-JIS(正式名称はMicrosoft Windows Codepage:932、略してCP932)だった。Leafpadでは問題なく表示できた。Mausepadでは開く際に文字コードの選択を求められたのでShift-JISを選んでOKボタンを押して開いた。 ダウンロードしたCSVファイルの内容は次のようになっていた。最初の3行のみを引用。 "tab_code","表章項目","cat01_code","男女別","cat02_code","人口","area_code","全国・都道府県","time_code","時間軸(年)","unit","value" "001","人口","000","男女計","001","総人口",...

MariaDBかMySQLでmysqlシェルを用いてテーブル作成

mysqlシェルを起動 mysqlシェルを起動。-uはユーザーを指定する。そのユーザーにパスワードを設定してある場合は-pを指定する必要がある。 $ mysql -u testuser -p Enter password: (中略) MariaDB [(none)]> データベースを新規作成する。SQLなので構文の終わりに;(セミコロン)を忘れずに。 MariaDB [(none)]> CREATE DATABASE mydatabase; Query OK, 1 row affected (0.000 sec) SQLは大文字である必要はない。 データベースの一覧を表示 存在するデータベースの一覧を表示する。 MariaDB [(none)]> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | mydatabase | | mysql | | performance_schema | +--------------------+ 5 rows in set (0.000 sec) データベースを削除するには DROP データベース名; と入力する。 アクセス対象にするデータベースを選択 USE構文を用いて特定のデータベースを使用することをシェルに伝える。 MariaDB [(none)]> USE mydatabase; Database changed MariaDB [mydatabase]> [(none)]が[指定したデータベース名]に変わる。 列(カラム)を定義してテーブルを作成 CREATE TABLE構文を用い、データを記録する形式となるテーブルを作成する。 MariaDB [mydatabase]> CREATE TABLE persons ( -> id INT UNSIGNED NOT NULL AUTO_INCREMENT, -> p_name VARCHAR(20) NOT NULL, -> f_name VARCHAR(2...

Debian GNU/Linux 10でMariaDBとLibreOffice Baseを接続

イメージ
この記事では、Debian GNU/Linux 10のユーザーがデータベースソフトウェアであるMariaDBと同じくデータベースソフトウェアであるLibreOffice BaseとをJDBCドライバを介して接続し、LibreOffice BaseをMariaDBサーバーのクライアントとして利用するまでの準備を記す。 前提となるオペレーティングシステムとソフトウェアのバージョンは下のとおり。 $ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 10 (buster) Release: 10 Codename: buster $ mariadb --version mariadb Ver 15.1 Distrib 10.3.27-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2 $ libreoffice --version LibreOffice 6.1.5.2 10(Build:2) MariaDB Connector/Jをインストール ODBCまたはJDBCを介して両者を接続する必要があるので、ここではJDBC互換のドライバであるMariaDB Connector/Jをインストールする。 Debian 10の公式リポジトリからAPTを用いてlibmariadb-javaというdebパッケージをインストールする。この処理にはオペレーティングシステムの管理者権限が必要。 $ su # apt update; apt install libmariadb-java MariaDBサーバーが作動中かどうか MariaDBサービスが稼働していることを確認する。 # systemctl is-active mysql active MariaDBサービスが稼働していなければ開始する。 # systemctl start mysql LibreOffice Baseを起動する。 LibreOffice BaseをMariaDBと接続する 特定のデータベースを引数に指定せずにLibreOffice Baseを起動すると、LibreOffic...

MariaDBをDebian GNU/Linux 10にインストールして使うまでの準備

この記事では、Debian GNU/Linux 10にデータベースサーバーであるMariaDB(MySQLの派生)をインストールし、ユーザーの作成やパスワードの設定を行なう手順について記す。ここで前提とするオペレーティングシステムは次のとおり。 $ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 10 (buster) Release: 10 Codename: buster MariaDBをインストール debパッケージになったものがDebian GNU/Linux 10の公式リポジトリにある。例えばコマインドライン上でAPTを用いてそれをインストールするには次のようにする。その際にはオペレーティングシステムの管理者権限が必要。 $ su # apt update;apt install mariadb-server MariaDBサーバーのみならず、依存関係でMariaDBクライアントも一緒にインストールされるはず。インストールされなければmariadb-clientもインストールする。 # apt update;apt install mariadb-client バージョンの確認 mariadbかmysqlの後に--versionというオプションを付ける。 $ mariadb --version mariadb Ver 15.1 Distrib 10.3.27-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2 サービス(デーモン)の管理 LinuxディストリビューションではMariaDBサーバーはmysqlサービス(/usr/sbin/mysqld)として実行される。サービスはデーモンとも呼ばれている。 mysqlサービスが稼働中かどうかを知るにはsystemctlコマンドの後にis-activeを指定し、その後にmysqlかmariadbを指定。 # systemctl is-active mysql inavtive 稼働中の場合にはactiveと表示され、稼働中でない場合にはinactiveと表示される。なんらか...

数式を理解する - 合計を表す演算子Σ(シグマ)入門

理工系または社会科学系の問題を統計学的に論じた書物を閲覧すると、もっともよく見かける数式記号のうちのひとつに大文字のシグマ(Σ)がある。この記号はsigma notationとかsummation notationとか呼ばれている。 シグマ(Σ)は英語の大文字Sに対応するギリシャ文字。数学ではこの文字が総和(summation)を表わすために使われている。ある数の集合の要素をすべて足し合わせることを意味している。+演算子の集合のような役割をこの記号ひとつで果たす。 自然数倍としてのかけ算 自然数倍としてのかけ算も足し算の集合(数列の総和)であることがよく知られている。かけ算の場合は足す数のすべてが同じ数に統一されていることという条件が付く。例えば\( 5 \times 4 \)は0に対して5を4回足せと言っている。 \[ x \times \colorbox{yellow}{y} = 0 \underbrace{+ x + x + x + \cdots + x}_{\colorbox{yellow}{y}回} \] \[ 5 \times \colorbox{yellow}{4} = 0 \underbrace{+ 5 + 5 + 5 + 5}_{\colorbox{yellow}{4}回} = 20 \] かけ算は同じ比で一様に増加していく 函数 かんすう と見なすことができる。 Σ演算子 じゃあ、一様に増加していかない足し算はどう表わすことができるか。そこでΣ演算子の出番。 \[ \sum_{\colorbox{lime}{i}=\colorbox{aqua}{0}}^{\colorbox{yellow}{4}} \colorbox{lime}{i} = \colorbox{aqua}{0} + 1 + 2 + 3 + \colorbox{yellow}{4} = 10 \] iはここではいくつかの数の集合を表わす変数。\( \sum i \)はiという変数を合計することを表わしている。\( i=0 \)はそのiが0から始まることを表わしている。Σ演算子の頭にある4はiが4で終わることを表わしている。 自然数倍としてのかけ算をΣ演算子で表わすと 自然数倍(同数累加)としてかけ算をΣ演算子を使って書き表すと次のようになる。 \begin{a...