2017年8月30日水曜日

C# 数学 「目次」統計・微分積分・線形代数への道

C# 統計・微分積分・線形代数への道
「目次」

画像処理などで自前でアルゴリズムを書くにあたって、
数学と向き合わなくてはいけないシーンが多くなってきた。
プログラムをする上で必要な数学的知識をまとめたく感じた。
画像処理、機械学習、予測解析、構造設計などで必須となる「統計・微分積分・線形代数」。
「統計・微分積分・線形代数」を学ぶ為に必要な前知識や、
基礎となる周辺知識などを理解出来る範囲で学習していきまとめます。
頭カチカチの数学苦手のいい大人が基本から勉強していきたいと思います。
(免責:自己学習による個人の考えをまとめるので、恐らく認識間違えも沢山あります。
本当に正しい知識を求めるのであれば「チャート式」などの方が有益と思います)

C# 数学1 「三角関数-1、逆三角関数、三角比」
(ラジアン sin cos tan asin acos atan atan2)

http://1studying.blogspot.jp/2017/08/c.html

・まとめ「三角関数」
  三角関数系、基本12パターン(要「直角三角形」)
  三角関数系、+1パターン。座標から角度を求める(要「直角三角形」)
・度数法とラジアン(角度単位)
  度数法(ディグリー)
  ラジアン(弧度法)
  「度数法」←→「ラジアンπ」
  ラジアンの詳細
  「C#」や「計算機」で計算させる際の注意
・「三角関数」の元だね
  「三角関数」(要「直角三角形」)
  「sinθ、cosθ、tanθ」を「sinA、cosA、tanA」と書ける
  「1/sinθ、1/cosθ、1/tanθ」を「cscθ、secθ、cotθ」と省略可
  三角関数系、基本(6/12)パターン(要「直角三角形」)
  計算例:(「三角関数」角度をラジアンで計算)
・「逆三角関数」の元だね
  「逆三角関数」角度θを求める(要「直角三角形」)
  「asin、acos、atan」を「sin-1、cos-1、tan-1」と書ける
  三角関数系、基本(3/12)パターン(要「直角三角形」)
  計算例:(「逆三角関数」角度をラジアンで計算)
・「比率(割合)と傾き」(「三角関数と逆三角関数」)
  「三角関数」と「逆三角関数」の式まとめ
  「比率(割合)と傾き」とは
    「比率(割合)」とは…
    「傾き」とは…
・三平方(ピタゴラス)の定理
  「三平方(ピタゴラス)の定理」(要「直角三角形」)
  三角関数系、基本(3/12)パターン(要「直角三角形」)
  計算例:(ピタゴラスの定理)
  「(三平方)ピタゴラスの定理」の応用(要「直角三角形」)
・「三角比」の前準備
  「三角比」では角度の記述に「度数法(ディグリー)」を使う
  「三角比」の為の前知識(重要)
  三角比表「sinθ cosθ tanθ」値(「角度θ」を「比率や傾き」へ変換)の覚え方
  「sinθ cosθ tanθ」表の覚え方2(分母の有理化済み)
・「三角比」
  「三角関数」と「逆三角関数」と「比率と傾き」と「ピタゴラスの定理」まとめ
    「対辺、底辺、斜辺」について
    「三角比」の「角度θ」による見え方の変化と「単位円」
  「三角比」ってなに?(要「直角三角形」)
    三角比の例題1(sinA)
    三角比の例題2(cosA)
  「三角比」の公式1
  「三角比」の公式2
  「三角比」の公式3
  「三角比」の公式の使用
・「三角関数」と「象限」
  「三角関数」を使ってみる(象限)
    「xy座標」と「象限」について
    「三角比の拡張(三角関数)」の「解き方基本」
    「第1象限」の「三角関数」
    「第2象限」の「三角関数」
    「三角関数」の表
    「第3象限」の「三角関数」
    「第4象限」の「三角関数」
    「象限」の範囲と性質
  「単位円」上での「三角関数」の定義と公式
・「逆三角関数」と「象限」
  「三角関数」と「逆三角関数」の「角度θ」について
  「主値」と「Asin()、Acos()、Atan()」について
  「逆三角関数」を使ってみる(主値)
    「第1象限」の「逆三角関数」
    「第2象限」の「逆三角関数」
    「第3象限」の「逆三角関数」
    「第4象限」の「逆三角関数」
    「0° 90° 180° 270° 360°」のときは?
  傾きの特性「tanA、atan()」
    「傾きの特性1」(主値)
    「傾きの特性2」(「cosAやx」が「−マイナス値」場合は「+180°」)
    「傾きの特性3」(「角度θ」による「tanA」の数値の変化)
・「三角比」の回転と反転
  「三角比」の回転をする為の前知識
    内角の和は常に「180°」
    外角の定理
    「三角比」の「回転、反転」とは…
  「三角比」の「回転0°+」「回転360°+」
    『sin(θ) cos(θ) tan(θ)』
  「三角比」の回転の表現2種類「回転90°+」「回転180°+」
    『sin(90°+θ) cos(90°+θ) tan(90°+θ)』
    『sin(180°+θ) cos(180°+θ) tan(180°+θ)』
  「三角比」の反転の表現3種類「反転0°−」「反転90°−」「反転180°−」
    『sin(−θ) cos(−θ) tan(−θ)』
    『sin(90°−θ) cos(90°−θ) tan(90°−θ)』
    『sin(180°−θ) cos(180°−θ) tan(180°−θ)』
・凄く便利。「atan2」について
  x値y値を元にθを取得する
  三角関数系、+1パターン。座標から角度を求める(要「直角三角形」)
  プログラム例
  「関数電卓」の 「ベクトル計算」機能を使い角度を計算する場合
  2点間座標から角度と直線距離を計算、角度と距離からxy座標を計算(プログラム例)
  上を0°とした時計回りの角度での変換
・「atan2」を自作する
  「atan2」が返す角度
  「atan2」自作の為の準備
  「myMakeAtan2」関数のプログラム


C# 数学2 「正弦定理、余弦定理」と証明
(円周角の定理と外角の定理と四角形の外接円)

http://1studying.blogspot.jp/2017/08/c_92.html

・「△」「∠」「なす角」「外接円」について
  文字辞書変換
  三角形「△」
  角「∠」
  「なす角」
  「外接円」
  声に出す時は…
・「正弦定理」と「余弦定理」とは
  「正弦定理」と「余弦定理」で求める
・「正弦定理」計算方法
  「正弦定理」を使った計算の方法
・「余弦定理」計算方法
  「余弦定理」を使った計算の方法
・「正弦定理」「余弦定理」の計算例
  「鈍角」「直角」「鋭角」
  正弦定理」「余弦定理」どちらを使うかの判断
  「例題の準備」
  「例題1」(角度を求める)
  「例題2」(角度を求める)
  「例題3」(sinAとcosAの相互変換)
    例題3−1(sinθからcosθを求める)
    例題3−2(cosθからsinθを求める)
    例題3−3(「三角関数」の公式2の使用)
  「例題4」(辺を求める)
  「sin(105°)」を「加法定理」で求める
・「円周角の定理」(外角の定理)と「四角形の外接円」
  「円周角」と「中心角」とは
  「円周角の定理」
  「円周角の定理」の証明(外角の定理)
    「円周角の定理」の証明、その1
    「円周角の定理」の証明、その2
    「円周角の定理」の証明、その3
    「円周角の定理」の証明、その4
  「円周角の定理の逆」
  「四角形の外接円」
・「正弦定理」の証明
  三角形の角度の種類(鋭角、直角、鈍角)
  「正弦定理」の覚え方
    「正弦定理」を覚える
    「辺」を求める形を覚える(正弦定理)
    「角度」を求める形を覚える(正弦定理)
  「鋭角(∠A<90°)」三角形の「正弦定理」の証明
  「直角(∠A=90°)」三角形の「正弦定理」の証明
  「鈍角(∠A>90°)」三角形の「正弦定理」の証明
・「余弦定理」の証明に必要な知識
  「三角比の各辺の値の求め方」「180°−θ公式」
  「(三平方)ピタゴラスの定理」
  「三角関数」の公式2
・「第二余弦定理」の証明
  三角形の角度の種類(鋭角、直角、鈍角)
  「第二余弦定理」の覚え方
    「第二余弦定理」を覚える  
    「角度」を求める形を覚える(余弦定理)
  「鋭角(∠A<90°)」三角形の「第二余弦定理」の証明
  「直角(∠A=90°)」三角形の「第二余弦定理」の証明
  「鈍角(∠A>90°)」三角形の「余弦定理」の証明
・「第一余弦定理」の証明
  証明の為の三角形の形2パターン
  「第一余弦定理」のおさらい
  「頂点が底辺の範囲内」のときの「第一余弦定理」の証明
  「頂点が底辺の範囲外」のときの「第一余弦定理」の証明
・まとめ「正弦定理」「余弦定理」
  「正弦定理」と「外接円の半径を求める形」
  「正弦定理」の式変形(辺を求める形)
  「正弦定理」の式変形(sin角度を求める形)
  「第一余弦定理」(あまり使われません)
  「第二余弦定理」(辺を求める)
  「第二余弦定理」の式変形(cos角度を求める形)


C# 数学3 「統計-1、正規分布-1、偏差値」
(総和Σ 総乗Π 平均偏差 母平均μ 標本平均 標準偏差σ 分散)

http://1studying.blogspot.jp/2017/09/c_90.html

・和の記号Σ(シグマ)総和
  Σとは…
  計算例1
  計算例2
  Σの書き方
  階和の公式
・Π(大文字のパイ)総乗、総積
  Πとは…
  計算例1
  計算例2
  Πの書き方
・Σ(シグマ)から「平均」と「平均偏差」の計算方法
  Σで平均を計算する公式
  「平均(average)」計算例
  「偏差」って何?
  Σで「平均偏差」を計算する公式
  「平均偏差」計算例
  補足(平均記号の書き方)
・「母平均(母集団の平均)μ(ミュー)」と「標本平均x
  「母平均μ(母集団の平均)」とは
  「標本平均」とは
  「母平均μ(母集団の平均)」と「標本平均」
・「標準偏差σ(小文字のシグマ)、分散、正規分布」
  「標準偏差σ」と「分散」とは何か…
  「標準偏差σ」と「分散」の公式
  「正規分布」とは…
  計算例(「標準偏差σ」と「分散」と「正規分布」)


C# 数学4 「統計-2」
「偏差値、標準化、分散と不偏分散、標準偏差と不偏標準偏差、平均値中央値最頻値」

http://1studying.blogspot.jp/2017/11/c_28.html

・「偏差値」の計算
  「偏差値」とは…
  計算例:(偏差値)
・基準値、標準値(基準化、標準化)
  「基準値(基準化)」「標準値(標準化)」
  「標準値、標準化」とは
  計算例:(標準値、標準化)
・「分散と不偏分散」「標準偏差と不偏標準偏差」
  「母集団」と「標本」(推測統計とは)
  「母平均μ」「標本平均x
  「母分散σ2」と「標本分散s2」と「不偏分散u2
    「母分散σ2
    「標本分散s2
    「不偏分散u2」(標本不偏分散u2)
    「分散V[X]」
   「母標準偏差σ」と「標本標準偏差s」と「不偏標準偏差u」
    「母標準偏差σ」
    「標本標準偏差s」(標本偏差s)
    「不偏標準偏差u」(不偏標本標準偏差u)
・「平均値(アベレージ)、中央値(メジアン)、最頻値(モード)」
  「平均値(アベレージ)」「中央値(メジアン)」「最頻値(モード)」
    「平均値(アベレージ)」
    「中央値(メジアン)」
    「最頻値(モード)」
  分布図による「平均値、中央値、最頻値」のパターン


C# 数学5 「単項式 多項式 整式 分数式 有理式 無理式 係数 項の次数次式元」

http://1studying.blogspot.jp/2018/05/c.html

・「単項式 多項式 整式 分数式 有理式 無理式 係数 次数 元」
  各「式」の区分図解
  「単項式(項)」とは…(係数、項の次数次式)
    「係数」「定数項」とは…
    「項の次数、次式」とは…
  「多項式」とは…(次式、元)
    「次式」とは…
    「元」とは…
  「整式」とは…
  「分数式」とは…
  「有理式」とは…
  「無理式」とは…


C# 数学6 「関数f(x)と関数yとx」
(等式 不等式 恒等式 方程式 関数 次数次式 元)

http://1studying.blogspot.jp/2017/11/c-fxffx.html

・「関数f(x)と関数yとx」
  「関数f(x)」とは(f(x)はxの関数)
  「関数y」とは(yはxの関数)
  「関数f(x)」と「関数y」のグラフ
  「関数、関数グラフ」の注意点(方程式のグラフ)
    関数式である「f(x)=x」「y=x
    関数式ではない「f(x)=√xまたはー√x」「y=√xまたは−√x」
    「方程式のグラフ、円の方程式のグラフ」(陰関数)
  1次式2次式3次式とは(次数と次式と元)
    「元」について…
  「等式」と「不等式」と「恒等式」と「方程式」と「関数」の違い
    「等式」とは
    「不等式」とは
    「恒等式」とは(「等式」の一部)
    「方程式」とは(一次方程式 二次方程式 三次方程式)
    「関数」とは(1次関数2次関数3次関数)
  1次関数2次関数3次関数のグラフ


C# 数学7 「ルート√、二乗(乗算)、絶対値abs、虚数iと複素数、倍数」の基礎

httpダミー

・ダミー
  ダミー
  ダミー


C# 数学8 「展開 因数分解-1 乗法公式 たすきがけ」
(約数 素数 因数 素因数 因数分解 素因数分解 共通因数)

http://ダミー

・「乗法公式」パターンまとめ
  「2乗公式」5パターン
  「3乗公式」4パターン
  「4乗公式」2パターン
  「その他」5パターン
・「展開 因数分解 乗法公式」とは
  「展開」とは
  「因数分解」とは
  「乗法公式」とは
・「展開」の仕方
  「2乗公式」の「展開」手順(「(x+y)」)
  「3乗公式」の「展開」手順(「(x−y)」)
  「和と差の公式(x+y)(x−y)」の「展開」手順
  「置き換え」を使用しての「展開」手順
・「約数 素数 因数 素因数 因数分解 素因数分解 共通因数」
  「約数」とは
  「素数」とは
  「因数(因子)」とは
  「素因数(素因子)」とは
  「素因数分解」とは
  「因数分解」とは
    因数分解の仕方1「共通因数でくくる」
    因数分解の仕方2「乗法公式を使う」
    因数分解の仕方3「たすきがけ」
    因数分解の仕方4「平方完成」「解の公式」「因数定理」
  「共通因数(共通因子)」(共通項)とは
・因数分解の仕方1「共通因数でくくる」
  「因数に分解」「共通因数」を探す「共通因数でくくり出す」
    「因数に分解」
    「共通因数」を探す
    「共通因数でくくりだす」
  「置き換え」を使用して「共通因数でくくる」(重要)
    「因数分解」の例1(置き換えを使用)
    「因数分解」の例2(置き換えを使用)
  「共通因数」でくくれない?更に「因数分解」が出来そう?な場合…
・因数分解の仕方2「乗法公式を使う」
  「乗法公式を使い因数分解」とは
  「(2乗公式の基本式)」か「平方の公式(和)(差)」を使えないか考える
    「(2乗公式の基本式)」での「因数分解」
    「平方の公式(和)(差)」での「因数分解」
  「和と差の積の公式」を使えないか考える
    「和と差の積の公式」での「因数分解」
  「たすきがけ」を使って「因数分解」が出来ないかを考える
・因数分解の仕方3「たすきがけ」
  「たすきがけ因数分解」の公式(先にくくるチェック、互いに素)
    「たすきがけ」は必ず「先にくくる」チェック
    「互いに素」とは
  「たすきがけ手順A」(基本)
  「たすきがけ手順B」(応用)
・「たすきがけを素早くする方法」(たすきがけ手順補足)
  「たすきがけ手順補足1」(計算を素早くする)
  「たすきがけ手順補足2」(計算が素早くならない場合)
    「たすきがけ手順補足1」の問題点
・「因数分解の使い所」
  「二次方程式」を「因数分解」で解く1
  「二次方程式」を「因数分解」で解く2


C# 数学09 「因数分解-2 平方完成 解の公式 解の吟味 D判定 因数定理」
()

ダミー

aa



C# 数学10 「二次方程式 方程式不等式 同値変形」
()

ダミー

aa


C# 数学11 「図形の証明(合同≡ 相似∽) 合同式≡mod余りの数」
(チェバの定理メネラウスの定理)

http://1studying.blogspot.com/2018/09/c.html

・「図形の証明」の前知識
  「定義」と「性質、定理」
  「性質」と「定理」と「公式」
  「仮定、前提」「結論」
    「仮定、前提」
    「結論」
  「角」「頂点」「線分」「辺、長辺、短辺」「中線」
    「角」
    「頂点」
    「線分」
    「辺、長辺、短辺」
  「角∠」「三角形△」「平行//」「直角⊥」「四角形□」
    「AB」
    「∠B」
    「∠ABC」
    「AB//CD」
    「△ABC」
    「AB⊥CD」
    「□ABCDE」
  「対角」「対角線」「対辺」
    「対角」
    「対角線」
    「対辺」
  「中点」「交点」「角の二等分線」「線分の二等分線」「垂直二等分線」「中線」
    「辺の中点、線分の中点」
    「交点、辺との交点」
    「角の二等分線」
    「線分の二等分線」
    「垂直二等分線」
    「中線」
  「共通な角」「共通な辺」
    「共通な角」
    「共通な辺」
  「対頂角」「錯角」「同位角」「AB//CDの錯角」「平行線の性質」
    「対頂角は等しい」「平行線の錯角は等しい」「平行線の同位角は等しい」
    「AB//CDの錯角」
    「平行線の性質」
  「三角形における内角と外角の性質(定理)」
    「三角形の外角の定理(性質)」
    「三角形の外角の定理(性質)」
  「多角形の内角と外角」
    「多角形の外角」の言い回し
    「多角形の内角」の言い回し
  「正方形」「長方形」「平行四辺形」「ひし形」の性質
    「正方形の性質」
    「長方形の性質」
    「平行四辺形の性質」
    「ひし形の性質」
    「互いの関係」
  「二等辺三角形」
    「二等辺三角形」の名称(頂角 底辺 頂点 底角)
    「二等辺三角形の性質」
  「多角形の対角線の数」
    「多角形の対角線の数」の公式
  「円周角の定理」「円周角の定理の逆」「四角形の外接円の性質」
    「円周角の定理」
    「円周角の定理の逆」
    「四角形の外接円の性質」
  「合同≡」と「相似∽」の条件
    「三角形の合同条件」
    「三角形の相似条件」
  2つの「三角形や四角形」に対する言い回し(「合同≡」と「相似∽」)
    「対応する辺」という言い方
    「対応する角」という言い方
  「内分点」と「外分点」
・「図形の証明」
  「図形の証明」の手順
  「合同の証明」
  「相似の証明」
  「二等辺三角形の証明」
・三角形同士の性質(チェバの定理メネラウスの定理)
  「三角形」同士の「相似比」の性質
「直角三角形」同士の「相似比」の性質
「直角三角形」の「各辺の名称」
「三角形」の「面積比」の性質
「内角の二等分線の定理」
「外角の二等分線の定理」
「チェバの定理」
「メネラウスの定理」
・「合同式≡」の前知識
  「モジュロ(modulo)」とは
  「法」とは(modとは)
  「マイナス」の扱い(割り算やmodでのマイナス値)
    「マイナス値の割り算」の商と余り
    「マイナスの付いたmod」の計算
  「合同式≡」と「等式=」
・「合同式≡」の演算方法
  「合同式≡」(整数の合同)とは
  「合同式同士」の「+−×乗算」
    「合同式≡」同士の「足し算」
    「合同式≡」同士の「引き算」
    「合同式≡」同士の「掛け算1」
    「合同式≡」同士の「掛け算2」
    「合同式≡」同士の「乗算」
    「合同式同士」の「+−×乗算」まとめ
  「合同式≡」と「整数値」の「+−×」
    「合同式≡」と「整数値」の「足し算」
    「合同式≡」と「整数値」の「引き算」
    「合同式≡」と「整数値」の「掛け算」
    「法m」へ同時に「c」を掛ける事も可能
    「合同式≡」と「−1」の「掛け算」
    「合同式≡」の「+−×」まとめ
  「合同式≡」の「割り算」
    「合同式≡」の「割り算」が成立する理由(重要)
    「左辺右辺の公約数」と「法」が「互いに素」でない「合同式≡」の「割り算」(重要)
    「合同式≡」の「割り算」まとめ
  「合同式≡」の「方程式」計算例
    計算例1(「合同式≡」の「方程式」)
    計算例2(「合同式≡」の「方程式」)
    計算例3(「合同式≡」の「方程式」)
    計算例4(「合同式≡」の「方程式」)(連立合同式、連立合同方程式)
    計算例5(「合同式≡」の「方程式」)(代入)
・「合同式≡」の実用(余りの数の求め方)
  「合同式≡」同士の演算と「合同式≡」の演算のルールまとめ
    「合同式≡」同士の演算まとめ
    「合同式≡」の演算まとめ
  「合同式≡」で掛け算の余りを求める
    通常の回答
    合同式での回答
  「合同式≡」で掛け算の余りを求める2
    通常の回答
    合同式での回答
  「合同式≡」で「1の位の数」を求める
    通常の回答(周期性、規則性、循環)
    合同式での回答(周期性、規則性、循環)
  「合同式≡」で乗数の余りを求める
    通常の回答(周期性、規則性、循環)
    合同式での回答(周期性、規則性、循環)


C# 数学12 「集合 集合記号 論理記号 命題」
(NZQRC ∈∉⊂⊆⊊∩∪ΦA− ∧&∨¬⇒→⊕⊻≠⇔⇄↔≡=)

http://

・「集合」(自然数N整数Z有理数Q実数R複素数C 無理数R-Q)と「要素」
  「集合」と「要素」…
  「集合」の「濃度」は要素の数
  「集合」を表す文字(自然数N整数Z有理数Q実数R複素数C 無理数R-Q)…
・集合記号「∈∉⊂⊆⊊、∩∪Φ(大文字のファイ)A
  集合「状態」を示す物基本4パターン(∈∉⊂⊆⊊)
    属する∈
    属さない∉(not)
    部分集合⊆
    真部分集合⊊
  集合「エリア(範囲)」を示す基本5パターン(∩∪UΦAA
    積集合、共通集合∩(and)
    和集合、合併集合∪(or)
    全体集合U
    空集合Φ
    補集合A(not)
  ドモルガンの法則…
  「集合」を「n(集合式)」や「|集合式|」で記述
  「和集合」の式(2つの集合、3つの集合)
    2つの集合の「和集合」の式
    3つの集合の「和集合」の式
・「集合」の「条件式、濃度、直積集合」記述
  条件式付き集合の記述…
  記述例1:
  記述例2:
  記述例3:
  「P」と「P(x)」などの「条件式付き集合」の記述方法(重要)
  「集合」の「要素数」と「濃度」
    「全単射」
    「全射、単射」
    「写像map(集合A,集合B)」(配置集合)
    「無限集合」同士の全単射
  「直積集合」について(直積、デカルト積)
・「論理記号」(∧&∨¬⇒→⊕⊻≠⇔⇄↔≡=)
  「真理値表」の「真1」と「偽0」の表記について
  「∧」「&」…「論理積and」「かつ」「および」
  「∨」…「論理和or」「または」「もしくは」
  「¬」「!」…「否定not」「〜でない」
  「⇒」「→」…「論理包含imp」「含意imp」(条件式)「証明▶〜ならば〜である」
  「≠」「⊻」「⊕」…「排他的論理和xor」「証明▶≠等しくない」
  「⇔」「⇄」(↔≡=)…「同値xnor」(「iff」と書く事もある)「証明▶互いに成り立つ」
  「論理記号」使用例
    「P ∧ Q」論理積and
    「P ∨ Q」論理和or
    「¬P」否定not
    「P ⇒ Q」論理包含imp
    「P ⊕ Q」排他的論理和xor
    「P ⇔ Q」同値xnor
・「集合」と「論理演算」の関係
  「and」(PかつQである)
  「or」(PまたはQである)
  「not」(Pでない)
  「論理包含⇒」(PならばQである)
・「命題」と「否定」 (論理演算)
  「論理演算(bool演算)」「論理変数(命題変数、bool変数)」について
    「論理演算(bool演算)」は「真偽」を返す
    「論理変数(命題変数、bool変数)」は「真偽」を表現する
  大文字と小文字の違い「Pとp」「Qとq」
  「命題」「真の命題」「偽の命題」とは
    「真の命題」
    「偽の命題」
    「命題でない」
    「真の命題」「偽の命題」は「命題」と省略して書く
  「否定¬」について
    「命題p」の「否定」について
    「p and q」「p or q」の「否定」(ドモルガンの法則)
    「命題」の「否定」でよく使われる形
・「条件、条件命題」「命題関数 述語 性質」
  「条件、条件命題」と「命題関数」とは(「事柄(内容)」と「変数x」)
    「命題関数」とは(変数x)
    「条件、条件命題」とは「命題関数」の事である
    「条件命題」を「条件」と省略して書く
    「条件」とは「命題関数 述語 性質」の事である
・「命題」と「条件、条件命題」と「集合」
  「命題と条件命題」の考え方
    「変数を持たない」時(「命題p」など)(0項述語)
    「変数を1つ」持つ時(「条件p」や「条件p(x)」など)(1項述語)
    「変数を2つ」持つ時(「条件p(x, y)」など)(2項述語)
  「条件命題p(x)」と「集合P(x)」の区別
  「真理集合」とは…(「条件P(x)」と「集合」の記述)
  「命題」「条件」「集合」の表記の曖昧さについて
・「単純命題(要素命題)」と「複合命題(合成命題)」
  「論理記号」と「命題」で使う「品詞(助動詞 係助詞 接続詞 否定詞)」
  「単純命題(要素命題)」とは(「論理演算」を含まない「命題」)
  「複合命題(合成命題)」とは(「論理演算」を含む「命題」)
・「推論の命題⇒」の概要
  「推論の命題⇒」(〜ならば〜である)
  「ならば」や「p ⇒ q」とは「p or !q」や「!(p&!q)」のことである(重要)
    「ならば」について…(重要)
  「p ⇒ q」が「真」の時、「P ⊆ Q」となる(重要)
  「P ⇒ Q」が「真」の時、何故「P ⊆ Q」と言えるのかの証明
  「十分条件、必要条件、必要十分条件」(十分範囲、必要範囲)
  「十分条件」と「必要条件」の「覚え方」
  「必要十分条件」
  「十分条件、必要条件」の使用例
・「推論の命題⇒」の考察
  何故「P⇒Q」は理解しづらいのか?
    疑問1(「P ⇒ Q」のPが偽の時に真となるのが腑に落ちない)
    疑問2(「P ⇒ Q」を「P ⊃ Q」と記述するのが腑に落ちない)
  疑問を解決する為の前知識1(空集合の定理1、元ゲン)
    「P ⇒ Q」と「¬(P ⇒ Q)」
    「空集合Φのルール1」
    「空集合Φのルール1−1」
    「空集合Φのルール1−2」
    「元ゲン」とは
  疑問を解決する為の前知識2(空集合の定理2、べき集合)
    「空集合Φのルール2」
    「空集合Φのルール2」の補足
    「集合」と「{}」
    「べき集合(冪集合)、集合族」(「べき集合」と「部分集合⊆」の違い)
    「空集合Φ」と「べき集合」の濃度
    「空集合Φのルール2−1」
    「空集合Φのルール2−2」
  疑問1の考察(「P ⇒ Q」のPが偽の時に真となるのが腑に落ちない)
    「Pが真1」「Qが真1」「P ⇒ Qが真1」の考察
    「Pが真1」「Qが偽0」「P ⇒ Qが偽0」の考察
    「Pが偽0」「Qが真1」「P ⇒ Qが真1」の考察
    「Pが偽0」「Qが偽0」「P ⇒ Qが真1」の考察
  疑問2の考察(「P ⇒ Q」を「P ⊃ Q」と記述するのが腑に落ちない)
・「推論の命題⇒」の「逆 裏 対偶」
  「推論の命題⇒」の「逆 裏 対偶」
  「命題の逆裏対偶」と「論理演算と集合」の関係
    「①命題P ⇒ Q」と「④対偶¬Q ⇒ ¬P」の関係(!P or Q)
    「②逆Q ⇒ P」と「③裏¬P ⇒ ¬Q」の関係(P or !Q)
・「推論の命題⇒」の「証明」(反例と背理法)
制作中です


C# 数学13 「集合の写像fと関数f(x)」

http://ダミー

・集合の「写像f」と「関数f(x)」
  「写像f」とは…
  使用例:
  「写像」の条件
  「部分写像」「始域と終域」「定義域と値域」「全単射」
  「写像f」は関数「f(x)」と同じ…
  計算例1:
  計算例2:
  計算例補足:(この手の計算時の決まり事3つの心得)
  「逆写像f-1」(fインバース)について
作成中

C# 数学14 「1次元関数と2次元関数グラフ 平方完成」

http://ダミー

作成中

C# 数学15 「」()

http://ダミー

作成中

C# 数学16 「極限-基本1」
「lim、収束発散、振動、不定形、片側極限」

http://1studying.blogspot.jp/2017/10/c.html

・「極限lim」(リミット)
  「極限lim」とは…(収束と発散)
  「収束」の詳細…
  「発散」の詳細…
  「振動」とは…
  「不定形の極限」(不定形とは…)
  「不定形の極限」例(不定形4パターンと不定形でないパターン)
  「不定形の極限」の際の注意
  「片側極限」「左極限(左側極限)」「右極限(右側極限)」
  絶対値の極限(片側極限)


C# 数学17 「常用対数、ネイピア数e-基本1、自然対数-基本1」e log ln exp

http://1studying.blogspot.jp/2017/11/c-ee-log-ln.html

・底、真数、指数、対数
  真数と対数とは
・「対数log」、常用対数について
  関数電卓で「対数log」を計算
  「常用対数」について…(log10
  関数電卓の記述で統一
・「対数log」の公式
  「対数log」の公式4パターン
    定義
    「logの性質」となる公式
    「log真数の積」から「対数logの和」への公式
    「log真数の商」から「対数logの差」への公式
    「log真数の累乗」から「実数と対数logの積」への公式
  「底の変換公式」
  「底の変換公式」計算例
  常用対数表と自然体数表
・「ネイピア数e(exp)」、自然対数について
  「ネイピア数e(exp)」
  「ネイピア数e」の別の記述方法
  「自然対数」について…(log又はlnログナチュラル)
・常用対数と自然対数の定義
  常用対数の定義
  自然対数の定義
・C#で常用対数(log10)や自然対数(logeやln)を扱う
  C#での対数使用例
  C#と関数電卓でのlogの違い
・PCや関数電卓で「指数表記e」を扱う際の注意
  「E」や「e」を「指数表記」として扱う!?


C# 数学20 「統計-基本3」
「統計的予測、確率と期待値Eと分散V、プロスペクト理論 モンティホール問題 ガチャ」

ダミー

・「統計的予測」をする
  「統計分析」と「統計的予測」…
  「統計的予測」と「推測統計」の違い
・「離散型」の「確率分布、確率変数X、関数P」について
  「離散型確率分布」「確率変数X」「確率質量関数P」
  「離散型確率分布」と「二項分布」
  「離散型と連続型」の「確率変数Xと確率分布」(確率質量関数Pと確率密度関数P)
・確率と期待値E[X]と分散V[X]
  「確率」とは
  「期待値」とは(「期待値」と「平均」の違い)
  「期待値E[X]」と「分散V[X]」(離散型確率変数Xに対して)
  「期待値」の計算例
  計算例:(期待値Eと正規分布)
・「プロスペクト理論」と「モンティ・ホール問題」と「ガチャ」
  「プロスペクト理論」
  「モンティ・ホール問題」

作成中


C# 数学20 「順列Pと組合せC、重複順列と重複組合せH」

ダミー

・「順列P」と「組合せC」の公式
  「順列P」と「組合せC」の違い
  「順列Pの公式」と「組合せCの公式」
・「重複順列」と「重複組合せH」の公式
  「重複順列」(全パターン数)と「重複順列の公式」
  計算例1:(重複順列)
  計算例2:(重複順列)
  「重複組合せH」と「重複組合せHの公式」
  計算例1:(重複組合せH)
  計算例2:(重複組合せH)
  計算例3:(重複組合せH)
・「順列P、組合せC、重複順列、重複組合せH」まとめ
  「順列P、組合せC、重複順列、重複組合せH」の違いとまとめ
    「重複順列」(全パターン数)
    「順列P」
    「組合せC」
    「重複組合せH」
  「順列P」公式の変形
  「順列P」と「組合せC」の相互変換公式
  「二項定理」「二項分布」への準備
  計算例:(組合せC補足)


C# 数学20 「二項定理、多項定理」

ダミー

・「項、二項、多項、一般項」
  「項」と「二項」と「多項」について
  「一般項」とは
・二項定理

作成中


C# 数学99 「統計-基本4」
「正規分布-基本2、二項分布、ポアソン分布」

ダミー


作成中


C# 数学99 「ネイピア数e-基本2、自然対数-基本2」

ダミー

・「ネイピア数e」を求める
  「ネイピア数e」の数値を計算
  「極限lim」で「ネイピア数e」を求める
  「総和Σ」で「ネイピア数e」を求める
・「極限lim」で「ネイピア数e」を求める(複利計算)
  「複利計算」とは
  計算例1(複利計算):
  計算例2(複利計算):
  「複利計算」から「ネイピア数e」を求める
・「極限lim」で「ネイピア数eの逆数」を求める(外れる確率)
  「極限lim」で「ネイピア数eの逆数」を求める
  当たるか外れるか「確率」「期待値」とは(分散Vと標準偏差σ)
  
作成中

C# 数学99 「極限-基本2」

「はさみうちの原理、マクローリン展開」

ダミー

・「はさみうちの原理(定理)」
  「はさみうちの原理」とは
  計算例1(はさみうちの原理):
  計算例2(はさみうちの原理):
  「はさみうちの原理」と「はさみうちの定理」の違い
・「マクローリン展開」で「極限lim」を求める
  「マクローリン展開」とは
  計算例1:(マクローリン展開)
  計算例2:(マクローリン展開)
  「マクローリン展開」で「極限lim」を求める
  計算例1:(マクローリン展開で極限lim)
  計算例2:(マクローリン展開で極限lim)


C# 数学00 「微分」

ダミー



C# 数学00 「積分」

ダミー



C# 数学00「極限-応用1」

「ロピタルの定理」

ダミー

・「ロピタルの定理」で「極限lim」を求める
  「ロピタルの定理」とは
作成中


C# 数学00 「フーリエ変換」

ダミー




C# 数学00 「線形代数-基本1」

「行列-基本1、ベクトル-基本」

ダミー

・まとめ「行列その1」「ベクトル」
  「行列」の計算
  「ベクトル」の計算
・「行列」の書き方
  行列の見方
  (行,列)の見方
  「複数の行列」と「添え字」
・行列って何?
  説明1:「写像」で「行列」をイメージ
  説明2:「メソッド」で「行列」をイメージ
・「行列の和」「行列の差」の計算方法
  行列の和
  行列の差
・「行列のスカラー倍」の計算方法
  行列のスカラー倍(スカラー乗積)
  (「λラムダ」って何?…)
・「行列の積」の計算方法
  行列の積
・「行列とベクトルの積」の計算方法
  行列とベクトルの積
・「ベクトル」の書き方
  ベクトルの書き方(転置ベクトルとは…)
  ベクトルの記述とイメージ
  ベクトル記号の書き方1(「a」ベクトル)
  ベクトル記号の書き方2(「|・|」絶対値absと「||・||」ノルム)
  ベクトルの計算(ノムル)
・「ベクトルとベクトルの和」の計算方法
  ベクトルとベクトルの和
・「ベクトルの内積」(スカラー積)の計算方法
  ベクトルの内積(スカラー積)
  「ドット積(標準内積)」と「ベクトルの内積」の関係
  「ベクトルの内積」(スカラー積)とは…
・「ベクトルの外積」(ベクトル積)の計算方法
  ベクトルの外積(ベクトル積)
  「面積(ab)」と「ベクトルの外積」の関係
  「ベクトルの外積」(ベクトル積)とは…
  その他の外積(外積代数)
  ベクトルの内積、ベクトルの外積の記述
・他の行列


C# 数学00「行列の応用」

ダミー



ダミー

ダミー



ダミー

ダミー



ダミー

ダミー



ダミー

ダミー


C# 数学1 「三角関数-1、逆三角関数、三角比」(ラジアン sin cos tan asin acos atan atan2)

C# 統計・微分積分・線形代数への道
目次→http://1studying.blogspot.jp/2017/08/senkei-index.html#kuw01

「三角関数」について
プログラムで実用する部分を最初にまとめます。
細かい説明はその後に記載してあります。

ここでは、
「×」を「*」
「÷」や「分数」を「/」
で表現します。

説明にあたって以下の呼び方をする事があります
  sinA=sinθ=正弦=対辺の比率←このサイトでは「対辺率」とも呼びます
  cosA=cosθ=余弦=底辺の比率←このサイトでは「底辺率」とも呼びます
  tanA=tanθ=正接=斜辺の傾き←このサイトでは「傾き」とも呼びます




まとめ「三角関数」


先にC#での記述を記載しておきます。
式などの解説は次項目から書いていきます。
  

三角関数系、基本12パターン(要「直角三角形」)
r = x / cosθ」(「r」を「x」と「θ」から求める)
r = y / sinθ」(「r」を「y」と「θ」から求める)
r = √(x2 + y2)」(「r」を「x」と「y」から求める)
x = cosθ * r」(「x」を「θ」と「r」から求める)
x = y / tanθ」(「x」を「y」と「θ」から求める)
x = √(r2 - y2)」(「x」を「r」と「y」から求める)
y = sinθ * r」(「y」を「θ」と「r」から求める)
y = tanθ * x」(「y」を「θ」と「x」から求める)
y = √(r2 - x2)」(「y」を「r」と「x」から求める)
θ = asin(y / r)」(「θ」を「y」と「r」から求める)
θ = acos(x / r)」(「θ」を「x」と「r」から求める)
θ = atan(y / x)」(「θ」を「y」と「x」から求める)
プログラム上では「角度θ」の指定や戻り値は必ず「ラジアン表記上の値」
で行う事に注意して下さい。
「角度θ」をプログラム上で求める場合は「atan2」を使った方が良いです。
詳しくは後述する
  『凄く便利。「atan2」について』
を参照してください。
double angle = 30.0; //「30度」を指定
var angleRAdian = angle / 180  * Math.PI; //度からラジアン角度を求める
double r = 50.0;
double x = 25 * Math.Sqrt(3); //(25√3)
double y = 25.0;
// -----------------------------
double r1 = x / Math.Cos(angleRAdian); //rをxとラジアンから求める
double r2 = y / Math.Sin(angleRAdian); //rをyとラジアンから求める
double r3 = Math.Sqrt(Math.Pow(2, x) + Math.Pow(2, y)); //rをyとラジアンから求める
double x1 = Math.Cos(angleRAdian) * r; //xをラジアンとrから求める
double x2 = y / Math.Tan(angleRAdian); //xをyとラジアンから求める
double x3 = Math.Sqrt(Math.Pow(2, r) - Math.Pow(2, y)); //xをラジアンとrから求める
double y1 = Math.Sin(angleRAdian) * r; //yをラジアンとrから求める
double y2 = Math.Tan(angleRAdian) * x; //yをラジアンとxから求める
double y3 = Math.Sqrt(Math.Pow(2, r) - Math.Pow(2, x)); //yをrとxから求める
double theta1 = Math.Asin(y / r); //ラジアンをyとrから求める
double theta2 = Math.Acos(x / r); //ラジアンをxとrから求める
double theta3 = Math.Atan(y / x); //ラジアンをyとxから求める
//ラジアンを求める場合は、「atan2」を使った方が良い。
割り算を使う式を使用する場合、0で割らないように気をつける。


三角関数系、+1パターン。座標から角度を求める(要「直角三角形」)
atan2(y座標とx座標)」(「角度θ」を「y」と「x」から求める。-値含む全座標対応)
        double x =  25 * Math.Sqrt(3); //(25√3)
        double y = 25.0;
        // -----------------------------
        double theta = Math.Atan2(y, x); //ラジアンをyとxから求める(-値含む全座標対応)
「atan2」は引数が「y」「x」の順となります。気をつけて使用して下さい。



「度数法」と「ラジアン」(角度単位)


「度数法」(ディグリー)
度数法とは普段使う角度の事。「90°」とか「360°」などと表記します。
単位は「度」。


「ラジアン」(弧度法)
ラジアンは「π」をうまく使い、人や機械に度数計算を行いやすくさせる表記方法です。
単位は「rad」。「ラジアン」と読みます。
(普段ラジアンは「π[rad]」のように「π」とセットで使い
「[rad]」は省略して書きますが、あえてここでは省略していません)
  「360°」が「2π[rad]」
  「180°」が「π[rad]」
のようにラジアンを表記します。
「ラジアン」とは「π」を使用した表記方法です。
このサイトでは「○πラジアン」と呼称する事もあります。

以下のように記述します。
  

「π」を「3.14159265…」として計算すると以下の形となります。
  2π[rad] = 6.283185307[rad]  ←360°のラジアン
  π/2[rad] = 1.570796327[rad]  ←90°のラジアン


「度数法」←→「ラジアン」
「度数法」と「ラジアン」を相互に変換してみます。
  「ラジアン[rad] = (度° / 180) * π」(「度」から「○πラジアン」を求める)
  「度° = (ラジアン[rad] / π) * 180」(「○πラジアン」から「度」を求める)
となります。
・「360°→ラジアン」へ変換する(「度」を180で割ってπを掛ける)
  (360°/180) *π = 2π[rad]
・「2π[rad]→度数表記」へ変換する(「○πラジアン」からπを取り除いて180掛ける)
  (2π[rad]/π) * 180 = 360°
・各「度数」を「ラジアン」へ変換する(「度」を180で割ってπを掛ける)
  
・各「ラジアン」を「度数」へ変換する(「○πラジアン」からπを取り除いて180掛ける)
  
・相互変換は以下のイメージで覚えると楽です。それぞれ「□」内へ値を入れる。
  


ラジアンの詳細
ラジアンはそもそも以下の考え方に基づいたものです。
  
  ここでは特別に「円周距離1」の角度を計算で求めましたが、
  通常、ラジアンは「ほにゃらら*π[rad]」の形で扱う事となります。


「C#」や「計算機」で計算させる際の注意
プログラムの際は「度」よりも「ラジアン」の表記を使うのが一般的です。
「C#」の「Math」でも、
「sin、cos、tan」等の引数に「ラジアン」を受け取ります。

「sin、cos、tan」等を「関数電卓」などで計算する際、
「計算機」の「角度モード」に注意しましょう。
角度を表す単位は「ディグリー」「ラジアン」「グラード」があり、
「計算機」の表示が「DEG」「RAD」「GRA」でそれぞれ違います。
普段の「度数法」の角度を使用するのが「DEG」モードです。
「πラジアン」を使うのが「RAD」モードとなります。



「三角関数」の元だね


「三角関数」(要「直角三角形」)
斜辺が「r」、横が「x」、縦が「y」とした場合、
「s」「c」「t」の筆記体の筆順で「三角関数の公式」をイメージ出来ます。
  
  例えば左側の筆記体の「s」の書き順にならって
  「r分のy」の答えが「sinθ」となっている事が分かるでしょうか?
ここで使う「シータθ」とは「角度」の事です。
「角度」の表記数値は
「計算機」の表示モードが「度数法」か「ラジアン」かで変わるので注意しましょう。

「直角三角形」で「sinθ」の関係をイメージすると以下の形となります。
  
ここから試しに「y」を目隠して「y」を求めてみます。(角度は「ラジアン」表記)
  
  結果、「y=√3」となりました。


「sinθ、cosθ、tanθ」を「sinA、cosA、tanA」と書ける
「三角関数」の計算では頻繁に以下の文字が使われますが、
  「sinθ」「cosθ」「tanθ」
まったく同じ意味の文字として以下の様な書き方も出来ます。
  「sinA」「cosA」「tanA」
「θをA」に変えた表記は一番よく使用されます。
たぶん「Answer(答え)」の略だと思います。
別に「θ」や「A」以外の文字でも構わないので
  「sinB、cosB、cosB」や「sinα、cosα、tanα」
のように書く事も可能です。
  
「sinθやsinA」「cosθやcosA」「tanθやtanA」の事を、
  「三角関数」とか「三角比」とか「比率、傾き」などと呼びます。
「三角比」や「比率、傾き」については後述します。


「1/sinθ、1/cosθ、1/tanθ」を「cscθ、secθ、cotθ」と省略可
他にも「三角関数」の計算で、
  「1/sinθ」「1/cosθ」「1/tanθ」
が使われる事があります。これらの省略系の書き方
  「cscθ」「secθ」「cotθ」
が存在します。
  
しかし実際は「cscθ secθ cotθ」で記述する人より、
「1/sinθ 1/cosθ 1/tanθ」で記述する人の方が多いようです。


三角関数系、基本(6/12)パターン(要「直角三角形」)
「三角関数の公式」から「r、x、y」を求める形に式の変形をすると、
  「y = sinθ * r」(縦「y」を「角度θ」と斜辺「r」から求める)
  「x = cosθ * r」(横「x」を「角度θ」と斜辺「r」から求める)
  「y = tanθ * x」(縦「y」を「角度θ」と横「x」から求める)
  「r = cscθ * y」「r = y / sinθ」(斜辺「r」を「角度θ」と縦「y」から求める)
  「r = secθ * x」「r = x / cosθ」(斜辺「r」を「角度θ」と横「x」から求める)
  「x = cotθ * y」「x = y / tanθ」(斜辺「r」を「角度θ」と縦「y」から求める)
のようになります。

詳しくは後述しますが「(三平方)ピタゴラスの定理」
  「r = √( x2 + y2)」(斜辺「r」を横「x」と縦「y」から求める)
を使えば「角度θ」が分からない状態からでも「r」を求める事ができます。


計算例:(「三角関数」角度をラジアンで計算)
「θ = 30°」「r = 50」の場合の「x」と「y」を求める。
  
まず、「θ=30°」を「○πラジアン」の形に変換します。
  
変換した「θ=(1/6)π[rad]」を使い「x」と「y」を求めます。
  
  今の段階では「cos()」と「sin()」は「関数電卓」で計算しましょう
  (「ラジアン」を計算する場合「計算機」のモードは「RAD」で計算)
結果、「x=25√3」「y=25」となり、以下の形となります。

  

参考(度)→http://keisan.casio.jp/exec/system/1260261251
参考(ラジアン)→http://keisan.casio.jp/exec/system/1260280032



「逆三角関数」の元だね


「逆三角関数」角度θを求める(要「直角三角形」)

斜辺が「r」、横が「x」、縦が「y」とした場合、
「s」「c」「t」の筆記体の筆順で「逆三角関数の公式」をイメージ出来ます。
  
  それぞれ、
  「asin」アークサイン「acos」アークコサイン「atan」アークタンジェント
  を使用して「角度θ」を求めています。
  例えば左側の筆記体の「s」の書き順にならって
  「r分のy」と「asin()」の括弧内がなっている事が分かるでしょうか?
「角度θ」の表記数値は
「計算機」の表示モードが「度数法」か「ラジアン」かで変わるので注意しましょう。

「直角三角形」で「asin(y/r) =θ」の関係をイメージすると以下の形となります。
  
ここから試しに「θ」を目隠して「θ」を求めてみます。(角度は「○πラジアン」表記)
  
  結果、「θ=(1/3)π[rad]」となりました。


「asin、acos、atan」を「sin-1、cos-1、tan-1」と書ける
「逆三角関数」の計算では頻繁に
  「asin」「acos」「atan」
  (「アークサイン」「アークコサイン」「アークタンジェント」と読み、
  「arcsin」「arccos」「arctan」と書く事もあります)
が使われますが、以下の様な書き方
  「sin-1」「cos-1」「tan-1
もよく使用されます。
  
  「sin-1、cos-1、tan-1」と書いた時は「-1」を「インバース」と読みます。
「計算機」や「関数電卓」ではこの「インバース」を使った表記が多いです。

他にも「逆三角関数」には、
  「acsc」アークコセカンド
  「asec」アークセカンド
  「acot」アークコタンジェント
が存在しますがこれらはあまり使用しません。ここでは覚えなくて大丈夫です。
(各々「acscは→asin」「asecは→acos」「acotは→atan」で代用されます。
答え「θ」を求めるために必要な「r、x、y」の素材が同じなので代用可能です。
下記「三角関係、基本(3/12)パターン」では斜線を引いておきました。)

「逆三角関数」の代表である、
  「asin」「acos」「atan」
は「直角三角形」の「角度θ」を求める為に使用されるものです。
  「三角関数sin、cos、tan」←→「逆三角関数asin、acos、atan」
の関係性があり、
「三角関数sin、cos、tan」と「逆三角関数asin、acos、atan」は「対」となる物です。
例えば「三角関数sinθ」と「逆三角関数asin」の式を考えた時、
  「sinθ = y / r」の「三角関数の公式」
  「θ = asin(y / r)」の「逆三角関数の公式」
のように式の中に「θ」と「y / r」を使用した
「三角関数sin」と「逆三角関数asin」の関係性を見て取ることが出来るのですが、
これについては後々学んでいきたいと思います。


三角関数系、基本(3/12)パターン(要「直角三角形」)
「逆三角関数」を「角度θ」を求める形に変形すると、
  「θ = asin(y / r)」(「角度θ」を斜辺「r」と縦「y」から求める)
  「θ = acos(x / r)」(「角度θ」を斜辺「r」と横「x」から求める)
  「θ = atan(y / x)」(「角度θ」を横「x」と縦「y」から求める)
  θ = acsc(r / y)」(「角度θ」を斜辺「r」と縦「y」から求める)
  θ = asec(r / x)」(「角度θ」を斜辺「r」と横「x」から求める)
  θ = acot(x / y)」(「角度θ」を横「x」と縦「y」から求める)
となります。(「角度θ」の数値は表記が「度数」か「ラジアン」かで変わるので注意)


計算例:(「逆三角関数」角度をラジアンで計算)
「r=50」「y=25」の場合の「角度θ」を求める。
  
「計算機」で「θ」を求める以下の計算をします。
  
結果「θ=(1/6)π[rad]」となります。
一応「ラジアン」から「度数」への変換もしておきます。
  
結果、以下の形となります。
  

参考(度)→http://keisan.casio.jp/exec/system/1260315699
参考(ラジアン)→http://keisan.casio.jp/exec/system/1260283160



「比率(割合)と傾き」(「三角関数と逆三角関数」)


「三角関数」と「逆三角関数」の式まとめ
「比率(割合)と傾き」について説明する前に「三角関数」と「逆三角関数」の式を
一度まとめておきます。
  
「三角関数」の式で出てくる「sinA、cosA、tanA」
  「sinA」「y/r」
    
  「cosA」「x/r」
    
  「tanA」「y/x」
    
とはそれぞれ何を指しているのでしょうか?
これらの事を「三角比」とか「比率、傾き」などと呼びます。
その「比率、傾き」についてこれから説明していきます。

ちなみに「直角三角形」の
「角度θ」が「0°<θ<90°」の範囲であれば、
「逆三角関数asin、acos、atan」を使いそれぞれに、
  「asin」には「sinA」(sinA=y/r)
    asin(sinA)
  「acos」には「cosA」(cosA=x/r)
    acos(cosA)
  「atan」には「tanA」(tanA=y/x)
    atan(tanA)
を与えると「角度θ」を知る事が出来ます。


「比率(割合)と傾き」とは
それでは「直角三角形」に対する「比率(割合)」と「傾き」について説明します。
「比率(割合)」とは…
「比」とは以下ように表す事が出来ます。(「〜に対する」が常に「分母」)
  「xに対するyの比」は「y/
  「yのxに対する比」は「y/
  
  「xに対するyの比」は「y/x」
は以下のように表す事も出来ます。(「〜に対する」を「分母(:の右側)」とする)
  「xに対するyの比」は「y:
  「yのxに対する比」は「y:
  
  「xに対するyの比率」は
    「y/x」「y÷x」「y:x」「y/x:1」
これらを踏まえると「比率(割合)」を以下のように見る事ができます
  
  つまり 「y:x=3:2」の「xと比べたyの比率は1.5」と言えます。
ここからが重要です。
「tanθ = tanA = y/x」となるのは覚えていますか?
「y/x」は「xに対するyの比率」と同じ事なので、
  「tanA = xに対するyの比率」
とも言えるわけです。
つまり「sinA、cosA、tanA」はそれぞれ
  
と解釈できます。

「傾き」とは…
「sinA、cosA」は「比率」を使い以下のような式で表す事が出来ます。
  「sinA = rに対するyの比率 = y/r」
  「cosA = rに対するxの比率 = x/r」
「sinA、cosA」は「傾き」で考えた場合計算が成り立ちません。
一方、
「tanA」では「(xに対するyの)比率」と「(rの)傾き」の両方の意味を持ちます。
  「tanA = xに対するyの比率 = y/x」
  「tanA = xに対するrの傾き = y/x」
「tanA」は「傾き」と「(xに対するyの)比率」の両方で同じ計算式が成り立ちます。
  
  「sinA」は「rに対するyの比率
  「cosA」は「rに対するxの比率
  「tanA」は「xに対するyの比率」や「xに対するrの傾き」又は「傾き」
これらを省略して、
  「sinA」とは「yの比率」
  「cosA」とは「xの比率」
  「tanA」とは「(rの)傾き」
と言う事が出来ます。

では、「直角三角形」の「sinA、cosA、tanA」の数値を実際に計算してみます。
  
結果、「(xに対する)rの傾きtanA」は「4/3」となっています。
「rの傾きtanA」は「y/x」で表現されていますので、
「この直角三角形のxとy」は「xか3増えるとyが4増える」関係ですと言えます。
(「asin(4/5)」「acos(3/5)」「atan(4/3)」の解は同じθの角度の値です)



(三平方)ピタゴラスの定理


「(三平方)ピタゴラスの定理」(要「直角三角形」)
続いて「三角比」について説明したいのですが、
その前に「三角関数」の一つである「ピタゴラスの定理」を知っておく必要があります。
以下の定理は「ピタゴラスの定理」とか「三平方の定理」などと呼ばれます。
  
「ピタゴラスの定理」は以下のような(証明)考えに基づいています。
  
  この「正四角形1」「正四角形2」各々から
  「直角三角形」4つ分の「面積」を取り除くと
    「正四角形1」に残った面積が「斜*斜」
    「正四角形2」に残った面積が「横*横+縦*縦」
  「正四角形1」と「正四角形2」に残った面積は
  両方とも同じ面積のハズなので、
    『斜*斜 = 横*横+縦*縦』
  の状態に常になる事が分かるでしょうか?
よって、「ピタゴラスの定理」
  『r2=x2+y2
が成り立ちます。


三角関数系、基本(3/12)パターン(要「直角三角形」)
「ピタゴラスの定理」の式を「r、x、y」を求める形に変形すると、
  「r = √( x2 + y2)」(斜辺「r」を横「x」と縦「y」から求める)
  「x = √(r2 - y2)」(横「x」を斜辺「r」と縦「y」から求める)
  「y = √(r2 - x2)」(縦「y」を斜辺「r」横「x」から求める)
となります。
(本当は「√」に「±」が付きますが、辺の長さの大きさは必ず「+」になるので省略)


計算例:(ピタゴラスの定理)
「直角三角形」の「r=50」「y=25」であれば
  
  「ピタゴラスの定理」を使うと、
  「r2 = x2 + y2」=「x = ±√(r2 − y2)」なので、
  x = ±√(502 − 252)
    = ±√1875 = ±25√3
辺の長さは必ず「+」の為、結果「x = 25√3」となります。
ここから「xとy」を使用して「角度θ」も求めてみます。
  「θ = atan(y/x)」(逆三角関数)を使用します。
  θ = atan( 25/25√3 )
    = (1/6)π[rad] ←「30°」
結果、以下の形となります。
  


「(三平方)ピタゴラスの定理」の応用(要「直角三角形」)
「(三平方)ピタゴラスの定理」の応用を使う事で、
  「2つの辺の長さ」から「1つの辺の長さ」を簡単に求める
  「1つの三角比(sinθ、cosθ、tanθ)」から「他の2つの三角比」を求める
事が出来ます。
  



「三角比」の前準備


「三角比」では角度の記述に「度数法(ディグリー)」を使う
「sinθ、cosθ、tanθ」の事を「三角関数」とか「三角比」と言います。
「直角三角形」の「各辺の比率」は「sinθ、cosθ、tanθ」の「三角比」で表し、
「直角三角形」の「角度θ」は「0°〜90°の範囲内」を主に使用します。
そのため
  「三角比」を扱う時は普段から馴染みのある「度(度数法)」で表記
するのが良いでしょう。

「三角関数のsinθ、cosθ、tanθ」は「三角比のsinθ、cosθ、tanθ」を発展させたもので、
「0°〜90°の範囲外」の角度や「360度以上」の角度を扱う事になります。
「三角関数」では「単位円」と言われる円の上に「直角三角形」を配置したイメージで
円の回転周期や扇型の弧の長さの計算などを行う事になります。
円関係の計算では式の中に常に「π」が出てくる為、
円関係の計算がしやすい「ラジアン」で表記した方が計算がしやすくなります。

従って角度の記述は、
  「三角比」では「度数法(ディグリー)」
  「三角関数」では「弧度法(ラジアン)」
を使って基本的には計算を行うのが一般的です。

「三角比」を学ぶ為、ここから先は「度数法」の表記で計算を行います。
「電卓」の場合は「ディグリー(度数法)」モードにして計算を行って下さい。


「三角比」の為の前知識(重要)
「角度θ」「(rに対する)yの比率」「(rに対する)xの比率」「斜辺rの傾き」の
それぞれの「関係性」を考えてみると以下ように計算できます。
  
この結果を元にして「三角関数」「逆三角関数」の「関係性」を使うと、
以下ような相互関係で計算が出来ます。
  
「直角三角形」の「各辺」に対しての
  「yの比率(sinθ) xの比率(cosθ) rの傾き(tanθ)」の関係性
の事を「三角比」と呼びます。
この「三角比のsinθ、cosθ、tanθ」を使い、
「直角三角形」の「辺x、辺y、辺r、の値」や「角度θ」の元の値を計算してみます。
  
  とにかく「角度θ」さえ判明させてしまえば
  「sin(θ)、cos(θ)、tan(θ)」が計算可能となるので、
  「三角比」である「y比率sinA、x比率cosA、傾きtanA」が求まり
  結果、各値を求めやすくなる事がこの計算により分かると思います。

「角度θ」の「度数」を「sin、cos、tan」へ渡した時の答えは、
「計算機」があれば簡単に値を取得できますが、
「0°、30°、45°、60°、90°」の三角比「sinθ、cosθ、tanθ」
の値は頻繁に利用されるため、なんとか覚えておいた方が良いです。
これらの値の一覧表である「三角比表」や「三角関数表」と言われる
表の覚え方を学んで行きます。


三角比表「sinθ cosθ tanθ」値(「角度θ」を「比率や傾き」へ変換)の覚え方
「角度θ」を「比率や傾き」へ変換するのに、
「y比率=sin(30°)、x比率=cos(30°)、傾き=tan(30°)」など、
計算式に出る度に「計算機」で計算しても良いのですが、
ある程度の「角度θ」(0°、30°、45°、60°、90°)の「sinθ、cosθ、tanθ」は
覚えておいて損は無いです。
小学校で使用した「2種類の三角定規」を思い出して下さい。
「2種類の三角定規」の角度は「30°45°60°90°」の組合せで構成されていましたね。
「2種類の三角定規」の「各辺の比率」さえ覚えてしまえば以下のように
「sin、cos、tanの30°、45°、90°の値」を「比率や傾き」の値へ変換計算が出来ます。
  
「0°と90°」は以下のように考えます。(「直角三角形」は「ただの直線」となります)
  
これらの情報を元に「0°、30°、45°、60°、90°」の「sinθ、cosθ、tanθ」を
表にすると以下の形となります。
  
「角度θ」が「90°」を超えた時は以下のように考えます。
  
  √2=1.41421356(ひとよひとよにひとみごろ)
  √3=1.7320508(ひとなみにおごれや)
  でしたね。


「sinθ cosθ tanθ」表の覚え方2(分母の有理化済み)
「(分母の)有理化済み」の表の覚え方も紹介しておきます。
「母数の有理化」について…
「有理化」とは「√」が取れた数値です。
  分数の「母数を有理化」すると計算がしやすい場合があります。
  
  正直有理化するかの判断は、その都度自分の扱いやすい方を選べば良いと思います。
  (有理化しておけば「方程式や不等式」などで
  「両辺に分母と同じ数を掛け分母を消しやすい」ので便利です)
「sin(45°)」の「分母を有理化」してみるとこんな感じです。
  

「sinθ、cosθ」の「母数が有理化済み」の表は以下のように覚えます。
  
「角度θ」が「90°」を超えた時は以下のように考えます
  

この「表」を「手の指」で覚える方法は覚えやすいのでおすすめです。
(外国での三角比の覚え方を元にして私なりに拡張、アレンジさせた覚え方です)
もし「表」が覚えられなくても極論すると困る事は無いのですが、
「分母を有理化」させる為の計算は必ず理解しておいて下さい。
「関数電卓」などで「sinθ、cosθ、tanθ」の計算を行うと、
必ず「母数が有理化」された値が計算結果として表示さる為です。



「三角比」


「三角関数」と「逆三角関数」と「比率と傾き」と「ピタゴラスの定理」まとめ
「三角比」について説明するために「三角関数」と「逆三角関数」と
「比率と傾き」と「ピタゴラスの定理」の式を一度まとめておきます。
  
「対辺、底辺、斜辺」について
上図、左上の「直角三角形」には「対辺y、底辺x、斜辺r」と書いてあります。
これまで「三角関数で扱う直角三角形」の各辺は
  「y、x、r」で表現してきました。
これは本来、
  yの辺→「対辺」(対辺は「角度θ」と接しない)
  xの辺→「底辺」(底辺の左側には常に「角度θ」があります)
  rの辺→「斜辺」(斜辺は底辺と対辺を結ぶ斜めの辺)
とそれぞれを呼びます。
このように呼ぶことで「直角三角形」が回転や反転した時でも、
  「(三角比の)底辺の比率、対辺の比率、斜辺の傾き」各辺の関係性は同じなので
  「座標のxy」とは別物として個別に計算できて便利な呼び方だからです。
  
  『「三角比」の回転と反転』については後述しますのでそちらで学びます。
  今は「直角三角形」の各辺「対辺、底辺、斜辺」の位置関係が分かれば良いです。

「三角比」の「角度θ」による見え方の変化と「単位円」
「直角三角形」の「角度θ」は「0°<θ<90°」の範囲です。
  
これを「90°<θ<180°」の範囲まで広げると形は「扇型や三角形」となり、
「直角三角形」では無くなってしまいます。
  
しかしこの「扇型や三角形」から余った下図の位置に「直角三角形」を見いだせば、
「90°<θ<180°」位置上に「新たな直角三角形」を常に表現する事ができます。
  
この表現方法を使い、
  「角度θ」が「0°<θ<90°」の範囲の「直角三角形」の「三角比」と
  「角度θ」が「90°<θ<180°」の範囲の「直角三角形」の「三角比」を
  「単位円」と言われる「半径r=1」に固定された円の上に配置してよく使用します。
「単位円」は
  「単位円」と言われる円、半円(「単位円」では必ず半径r=1となる)
  「xy座標」(xy座標の中心が「単位円」の中心となる)
  「直角三角形」(「三角比」対辺yの比率、底辺xの比率、斜辺rの傾き、角度θ)
の組合せでよく使われる円です。

まずは「普通の正円」に
  「角度θ」が「0°<θ<90°」の範囲の「直角三角形」
  「角度θ」が「90°<θ<180°」の範囲の「直角三角形」
をの「2つの直角三角形」を配置してみましょう。
  
次にこの「普通の正円」を「単位円」つまり「半径r=1」に変換します。
これにより「2つの直角三角形」は「三角比」に変換されます。
(「yの値」が「対辺の比率sinA」に、「xの値」が「底辺の比率cosA」に変換される)
  
  「単位円」に変換する事で「2つの直角三角形」が「三角比」化されるので、
  「三角比(対辺yの比率sinA、底辺xの比率cosA、斜辺rの傾きtanA、角度θ)」
  つまり、原点からの「xの値とyの値の比率」が分かるようになりました。
  (この図は「角度θ」が「0°<θ<90°」の範囲と「90°<θ<180°」の範囲にある
  「2つの三角比(直角三角形)」と認識しておいて下さい。
  『「三角比」の「回転や反転」』とはまったく無関係ではないのですが、
  この時点ではあくまで別物として扱います。)


「三角比」ってなに?(要「直角三角形」)
「三角比」とは「直角三角形」の各辺の「比率と傾き」の事です。
  「直角三角形」は「角度θ」が変化する事によって
  「xに対するrの傾き」が変化しその結果、
  「r、x、y」それぞれの比率が変化します。
  その比率の変化は「sinA、cosA、tanA」を使うと知る事が出来ます。
  この事を「三角比」と言います。
「三角比」のイメージは以下の形となります。
  
  「対辺率sinA、底辺率cosA、傾きtanA」が「三角比」の基本です。
  ここで注目したいのは、なんとか「角度θ」の値を判明させてしまえば
  「sinA=sinθ、cosA=cosθ、tanA=tanθ」と「角度θ」を使い、
  「yの比率sinA」「xの比率cosA」「傾きtanA」が楽に計算できると言う事です。
  「角度θ」の値が知りたい場合、
  「角度θ」が「0°<θ<90°」の範囲の「直角三角形」であれば、
  「逆三角関数asin(sinA)、acos(cosA)、atan(tanA)」を
  「関数電卓」で計算する事で「角度θ」を求める事が可能です。
「三角比」のイメージは上で示した図だと少しごちゃっとしているので、
普段はもっとシンプルに考えます。以下の図を見て下さい。
  「左図:三角比」と「右図:実際の値」の関係
  
  この左図のように、「底辺xの比率」「対辺yの比率」「斜辺rの傾き」を
  の事を「cosA、sinA、tanA」と「直角三角形」に直接記載する表現は
  非常に良く目にします。覚えておきましょう。
  (この表記の方が『「三角比」が「回転や反転」』した時に理解しやすくなります。)

「三角比」では、
  「対辺の比率sinA * r =  対辺x値」
  「対辺の比率cosA * r =  底辺y値」
により「rの長さ」が変化した時の「x値y値」が簡単に求まります。
「三角比」を使うと他にも沢山便利な事が起きるのが後々分かってくると思います。
よく使う「三角比」を使った例題をのせておきます。
三角比の例題1(sinA)
  
三角比の例題2(cosA)
  

では、
ここまでの事を踏まえて「三角比の公式」を3つ紹介します。
3つの「三角比の公式」を駆使すれば、
「直角三角形」の「sinA、cosA、tanA」のどれか1つがわかった時点で、
他の2つの値を筆算で求める事が出来るようになります。
(本当は3つの「三角比の公式」を駆使しなくても、
「関数電卓」で「asin(sinA)、acos(cosA)、atan(tanA)」を使い、
「角度θ」を求めてしまえば「sinA、cosA、tanA」全てを簡単に求める事が出来ます。
「逆三角関数asin(sinA)、acos(cosA)、atan(tanA)」を筆算で求める方法は
今回はやりませんが、後々できたら学びたいと思います。)


「三角比」の公式1
「sinA、cosA、tanA」の内2つを使い、残りの1つを求める事が出来る公式。
  
「sinA、cosA、tanA」の定義を『「三角比」の公式1』を使い求めてみます。
  


「三角比」の公式2
「sinA、cosA」の内どちらか1つを使い、残りの1つを求める事が出来る公式。
  
「角度θ」に対して二乗されているのではなく、
「対辺比率sinA、底辺比率cosA」に対して二乗されている事に注意して下さい。
  

この『「三角比」の公式2』は「ピタゴラスの定理」そのものです。
  
「ピタゴラスの定理」は「三角比の対辺率sinAと底辺率cosA」にも当てはまるので、
  
  とすれば「三角比の公式2」と同じと言えます。

半径が「斜辺r=1」となるように見立てた「単位円」に「直角三角形」を配置し
「対辺の比率sinA」と「底辺の比率cosA」求めると以下のようになります。
  
  この「x2+y2=1」の考え方は結構重要です。
  「円の半径rが1の時」は常に「x2+y2=半径1」が成り立ちます。
「三角比の公式2」で「sinAやcosA」の個々を求めると以下の形となります。
  


「三角比」の公式3
「cosA」から「tanA」を求める事が出来る公式。

この公式は『「三角比」の公式1』の式から
『「三角比」の公式2』を使って変形させた式となります。
  


「三角比」の公式の使用
  



「三角関数」と「象限」


「三角関数」を使ってみる(象限)
「xy座標」の中心に自分がいて周りに「1つの物体」があるとします。
その時「自分」から「1つの物体」までの、
  「距離、角度、xy座標位置」
の関係を「直角三角形」を使えば「三角関数」と「単位円」により知る事ができます。

「1つの物体」までの距離が「本当に1(単位円と同じ)である」と仮定して
  「角度θ、x値(x比率)、y値(y比率)」
の各値を計算で求めてみますので「象限」という考え方について理解をして下さい。
(本当なら「単位円」で「物体まで距離r=1に対するx比率とy比率」を求めたら、
その「x比率とy比率」に対して「実際のr値」を掛けます。
それにより実際の「x値、y値」の値が取得できます)

「三角関数」では本来「角度の表記」を「ラジアン表記」で計算するのですが、
ここではイメージしやすいように「度数法の表記」で計算していきます。


「xy座標」と「象限」について
「xy座標」の「中心に自分」がいるとして、
「右上、左上、左下、右下」の座標の事をそれぞれ「象限」と呼びます。
  
上図のように4つそれぞれの領域の「象限」には
  「第1象限」…(右上領域「+x、+y」)
  「第2象限」…(左上領域「−x、+y」)
  「第3象限」…(左下領域「−x、−y」)
  「第4象限」…(右下領域「+x、−y」)
と名前が付きます。

「三角比の拡張(三角関数)」の「解き方基本」
  「三角関数」の事を「三角比の拡張」と言う事があります。
  この「三角比の拡張の3つの式」は今後頻繁に利用しますので、
  しっかりと覚えておいて下さい。
  


「第1象限」の「三角関数」
  「第1象限」の領域に「1つの物体」がある時、以下のようなイメージとなります。
  
  (説明①)「角度θ」の計算方法は「象限」により変わります。
  後述『「逆三角関数」と「象限」』を確認して下さい。

「第2象限」の「三角関数」
  「第2象限」の領域に「1つの物体」がある時、以下のようなイメージとなります。
  
  (説明①)「角度θ」の計算方法は「象限」により変わります。
  後述『「逆三角関数」と「象限」』を確認して下さい。

「三角関数」の表
「第1象限」「第2象限」の領域に対象物がある時に必要となる「三角関数表」
  

「第3象限」「第4象限」の領域に対象物がある時に必要となる「三角関数表」
  

「第3象限」の「三角関数」
  「第3象限」の領域に「1つの物体」がある時、以下のようなイメージとなります。
  
  (説明①)「角度θ」の計算方法は「象限」により変わります。
  後述『「逆三角関数」と「象限」』を確認して下さい。  

「第4象限」の「三角関数」
  「第4象限」の領域に「1つの物体」がある時、以下のようなイメージとなります。
  
  (説明①)「角度θ」の計算方法は「象限」により変わります。
  後述『「逆三角関数」と「象限」』を確認して下さい。

「象限」の範囲と性質
「中心の自分」から見た「対象物」がどの「象限の領域(角度)」にあるかで、
「y比率sinA、x比率cosA、傾きtanA」のそれぞれに
「−マイナス」が付いたり外れたりします。
  
第1象限…(「sinA、cosA、tanA」すべて+)
  「x軸上側」+側sinA、「y軸右側」+側cosA、「傾き右肩上がり」+x+y側tanA
第2象限…(「sinA」のみ+)
  「x軸上側」+側sinA、「y軸左側−側cosA、「傾き右肩下がり−x+y側tanA
第3象限…(「tanA」のみ+)
  「x軸下側−側sinA、「y軸左側−側cosA、「傾き右肩上がり」−x−y側tanA
第4象限…(「cosA」のみ+)
  「x軸下側−側sinA、「y軸右側」+側cosA、「傾き右肩下がり+x−y側tanA

0° 360° … sinA=±0、cosA=+1、tanA=±0
90° … sinA=+1、cosA=±0、tanA=×不定
180° … sinA=±0、cosA=−1、tanA=±0
270° … sinA=−1、cosA=±0、tanA=×不定


「単位円」上での「三角関数」の定義と公式
「単位円」上の「三角関数sin、cos、tan」は常に以下ように定義されます。
  y= sin(θ)*半径r= sin(θ)*半径1= sin(θ)
  x= cos(θ)*半径r=cos(θ)*半径1=cos(θ)
つまり
  「単位円」上では常に
  y=sin(θ)
  x=cos(θ)
となります。
そして「単位円」上でも『「三角比」の公式』がそのまま使用出来ます。
  
  「三角関数」では常に「第?象限」の領域にいるかを意識する事。
  「象限」の領域により「sinA、cosA、tanA」の各「+−」状態が変化します。



「逆三角関数」と「象限」


「三角関数」と「逆三角関数」の「角度θ」について
「三角関数(sinA、cosA、tanAを求める)」では
  「第1〜4象限」の各範囲を含む「0°〜360°」の範囲中の「角度θ」であれば、
  その「角度θ」を「直角三角形の斜辺」に見立てる事により、
  「sin(θ)、cos(θ)、tan(θ)」をつかって、
  「対辺率、底辺率、傾きを求める事が可能です。
「逆三角関数(角度θを求める)」では
  「第1象限」の範囲を含む「0°以上 〜 90°未満」の範囲中の「角度θ」であれば、
  その「角度θ」を「直角三角形の斜辺」に見立てる事により、
  「asin(sinA)、acos(cosA)、atan(tanA)」を使って
  「角度θ」を求める事が可能です。


「主値」と「Asin()、Acos()、Atan()」について
「逆三角関数(角度θを求める)」を使えば「0≦θ<90°」の範囲内ならば、
  
の式が成り立つ事は分かりました。
では、「90°〜360°」の範囲の「角度θ」を知りたい場合はどうするのでしょうか。
以下のようになります。
  
  「逆三角関数asin()」の「主値」(正しい角度θを返す範囲)は
    「270° ≦ 角度θ ≦ 90°」←(asin()の主値範囲、Asin())
  「逆三角関数acos()」の「主値」(正しい角度θを返す範囲)は
    「0° ≦ 角度θ ≦ 180°」←(acos()の主値範囲、Acos())
  「逆三角関数atan()」の「主値」(正しい角度θを返す範囲)は
    「270° < 角度θ < 90°」←(atan()の主値範囲、Atan())
  「逆三角関数」を使い求める「角度θ」が「主値」の範囲内であれば
  常に正しい「角度θ」を求める事ができます。
「主値」の範囲内の時は分かりやすいように、
「逆三角関数」の「頭文字(イニシャル)」を
  「Asin(sinA)、Acos(cosA)、Atan(tanA)」
  「Arcsin(sinA)、Arccos(cosA)、Arctan(tanA)」
  「Sin-1(sinA)、Cos-1(cosA)、Tan-1(tanA)」
のように「大文字」で記述する事が一応のルールとなっています。


「逆三角関数」を使ってみる(主値)
「1つの物体」までの距離が「本当に1(単位円と同じ)である」と仮定して
  「x比率sinA(x値)、y比率cosA(y値)、傾きtanA」から「角度θ」
の値を「逆三角関数」で求めたとき、
「主値」の範囲内であれば正しい「角度θ」を取得できます。
ここでは「象限」に対する「主値」という考え方について理解をして下さい。

以下で各「象限」の時の「逆三角関数Asin()、Acos()、Atan()」について
説明していきますが、
「象限」によっては「asin()、acos()、atan()」で記述した式が書かれます。
このように「アルファベットの頭文字が小文字」で記述された式では
「主値」の範囲外となる「逆三角関数」を使い無理矢理答えを求めていますので、
とりあえず無視して下さい。
あくまでも、
「Asin()、Acos()、Atan()」で記述された式が「主値」となります。

「第1象限」の「逆三角関数」
  「第1象限」領域にある「1つの物体」への「角度θ」を「逆三角関数」で求めます。
  
  「第1象限」は「Asin()、Acos()、Atan()」全ての「主値」範囲内です。
  「Asin()、Acos()、Atan()」の全てで正しい「角度θ」が取得できます。

「第2象限」の「逆三角関数」
  「第2象限」領域にある「1つの物体」への「角度θ」を「逆三角関数」で求めます。
  
  「第2象限」は「Acos()」の「主値」範囲内です。
  「Acos()」でのみ正しい「角度θ」が取得できます。
  「atan()」に「+180°」しても正しい「角度θ」が取得できます。
  (後述『傾きの特性「tanA、atan()」』にて説明)

「第3象限」の「逆三角関数」
  「第3象限」領域にある「1つの物体」への「角度θ」を「逆三角関数」で求めます。
  
  「第3象限」は「主値」の範囲内に入る「逆三角関数」は存在しません。
  「主値」では正しい「角度θ」を取得する事ができません。
  「atan()」に「+180°」すれば正しい「角度θ」が取得できます。  
  (後述『傾きの特性「tanA、atan()」』にて説明)

「第4象限」の「逆三角関数」
  「第4象限」領域にある「1つの物体」への「角度θ」を「逆三角関数」で求めます。
  
  「第4象限」は「Asin()、Atan()」の「主値」範囲内です。
  「Asin()、Atan()」で正しい「角度θ」を取得する事ができます。

「0° 90° 180° 270° 360°」のときは?
「第1〜4象限」のどの象限にも属さない角度、
「0° 90° 180° 270° 360°」の時、
「sinA」(y軸)と「cosA」(x軸)が
「+プラスか−マイナスか0」のどの値になるのかをまとめておきます。
  
「0°(360°)」
  sinAやy=0
  cosAやx=+プラス値(0より上)
  であれば「0°」となります。(傾きtanA=0)
「90°」
  sinAやy=+プラス値(0より上)
  cosAやx=0
  であれば「90°」となります。(傾きtanA=×不定)
「180°」
  sinAやy=0
  cosAやx=−マイナス値(0より下)
  であれば「180°」となります。(傾きtanA=0)
「270°」
  sinAやy=−マイナス値(0より下)
  cosAやx=0
  であれば「270°」となります。(傾きtanA=×不定)


傾きの特性「tanA、atan()」
「傾きの特性1」(主値)
  「逆三角関数atan()」の「主値」は「270° < 角度θ < 90°」なので、
  「270° < Atan(tanA) < 90°」の範囲内であれば正しい値が得られます。
  

「傾きの特性2」(「cosAやx」が「−マイナス値」場合は「+180°」)
  「主値」の範囲外の時は「+180°」すれば正しい値が得られます。
  (但し「90°と270°」においては「×不定」となる為除く)
  
  これは、
    「傾きtanA」は「180°」毎に同じ値となる
    (「tanAの周期は180°」である)
  と言う事ですので、「傾きtanA」は以下のイメージをとなります。
   

  「逆三角関数atan()」で正しい一つの「角度θの値」を得ようとした場合、
    「現象」か
    「cosAやx」が「−マイナス値」か
  のどちらかの情報が必要となります。

「傾きの特性3」(「角度θ」による「tanA」の数値の変化)
  「時計回り」に「270°から90°を目指す」と「tanAの値」は
  「−∞から+∞」へと向かいます。
  「反時計回り」に「270°から90°を目指す」と「tanAの値」は
  「+∞から−∞」へと向かいます。
  



「三角比」の回転と反転


「三角比」の回転をする為の前知識
内角の和は常に「180°」
  

外角の定理
  

「三角比」の「回転、反転」とは…
  「三角比」の「回転、反転」とは
  「角度θの変換」をする事です。
「角度θの変換」には「回転して変換」と「反転して変換」があります。
スタンダードな状態
  
にある「角度θの変換」をするのですが、
主に、
  「回転90°+」、「回転180°+」
  「反転0°−」、「反転90°−」、「反転180°−」
の5種類で「変換」を行います。
「変換後」も「x軸、y軸、第1〜第4象限」の形状に違いはありません。
「角度θ」は「変換後」には新たな「角度θ」の角度を指す形となります。


「三角比」の「回転0°+」「回転360°+」
「単位円」上に「三角比(sinA、cosA、tanA)」で「角度θ」を表現します。
  sin(θ)=sinA
  cos(θ)=cosA
  tan(θ)=tanA  
「回転も反転もされていない三角比(三角関数)」ですので特に「変換」の無い表現です。
故に「角度θ」は特に変化しません。
『sin(θ) cos(θ) tan(θ)』
  (『sin(360°+θ) cos(360°+θ) tan(360°+θ)』でも同じ角度)
  


「三角比」の回転の表現2種類「回転90°+」「回転180°+」
「三角比(sinA、cosA、tanA)」を回転させて「角度θ」を変換する方法は
主に以下の2種類となります。
『sin(90°+θ) cos(90°+θ) tan(90°+θ)』
  
  (「90°」が絡んだ時「傾きtanA」は「逆数となります」)
  実際の変換は以下のように行います。
  

『sin(180°+θ) cos(180°+θ) tan(180°+θ)』
  
  実際の変換は以下のように行います。
  
  
  この解き方の理屈さえ理解しておけば、
  「回転」に関しては公式を暗記しなくても逆算により公式を思い出す事が出来ます。


「三角比」の反転の表現3種類「反転0°−」「反転90°−」「反転180°−」
「三角比(sinA、cosA、tanA)」を反転させて「角度θ」を変換する方法は
主に以下の3種類となります。
『sin(−θ) cos(−θ) tan(−θ)』
  (『sin(0°−θ) cos(0°−θ) tan(0°−θ)』でも同じ角度)
  
  実際の変換は以下のように行います。
  

『sin(90°−θ) cos(90°−θ) tan(90°−θ)』
  
  (「90°」が絡んだ時「傾きtanA」は「逆数となります」)
  実際の変換は以下のように行います。
  

『sin(180°−θ) cos(180°−θ) tan(180°−θ)』
  
  実際の変換は以下のように行います。
  

  
  この解き方の理屈さえ理解しておけば、
  「反転」に関しては公式を暗記しなくても逆算により公式を思い出す事が出来ます。


ここまでの内容で、
「三角関数」の基本的な部分はある程度理解出来ている状態になったと思います。
ここから先は「三角関数」をプログラム上で使用する事に焦点を当てて
説明を行います。



凄く便利。「atan2」について


x値y値を元にθを取得する
xy座標をプログラム上で扱う際、
  「自分から見た(相対的な)1つの物体の
  x値y値を元に角度θを取得」
を行いたい状況がよく発生します。

「逆三角関数」などの
  「θ = atan(y / x)」
をうまく使えば計算できますが、
  「x = 0」の際は『0で割る「0除算」』となるエラー(計算不可)処理の発生
  「第1、4象限」と「第2、3象限」での同角度の傾きに対する判別処理の発生
などと、色々と気を使ってプログラムする必要があります。

C#では「atan2」関数を使用る事で、これらの処理問題を全て解決出来ます。
「atan2」は「atan」を使いやすく拡張した物です。
「atan2」の引数に「対象物のxy座標」を渡せば、
簡単に「対象物への角度θ[rad]」を得る事が出来ます。
残念ながら「関数電卓」には「atan2」の機能はありません。
「C#などのプログラム」にのみ実装されている機能です。


三角関数系、+1パターン。座標から角度を求める(要「直角三角形」)
atan2(y座標, x座標)」(「θ」を「y」と「x」から求める。-値含む全座標対応)
「atan2」は「-値含む全座標対応」の為、かなり実用的です。
xy座標値を渡せば360°全ての角度で正しいラジアン角度の値を返してくれます。


プログラム例
「x = 25√3」「y = 25」の場合
「atan2(y,x)」を行うと、
戻り値が「0.5235987755983…[red]」つまり「30°」となる。

  
            double x1 = 25 * Math.Sqrt(3); // 25√3
            double y1 = 25;
            double radianAngle = Math.Atan2(y1, x1); //ラジアン角度取得
            double degreeAngle = radianAngle / Math.PI * 180; //度数法に変換
            MessageBox.Show(">>"+ degreeAngle.ToString()+"°"); //表示「>>30°」


「関数電卓」の 「ベクトル計算」機能を使い角度を計算する場合
「関数電卓」に「ベクトル計算」機能があれば角度計算が可能です。
まず、「関数電卓」を「ベクトル計算」のモードにして下さい。
次に、「2次元」のベクトルを2つ登録します。
  「VctA」へ「[0, 10]」等を登録後、(「x」を10としたが、「x」は幾つでもよい。)
  「VctB」へ「[25, 25√3]」(25√3→43.30127019)を登録します。
「ベクトルのなす角」を選択し、
  「Angle(VcaA, VcaB)」
のように計算が出来る「関数電卓」であれば、
  「0.5235987755983[red]」か「30°」
と角度の計算結果が表示されると思います。

  


2点間座標から角度と直線距離を計算、角度と距離からxy座標を計算(プログラム例)
「2点間座標から角度を計算」「2点間座標から直線距離を計算」
「角度と距離からxy座標を計算」のプログラム例です。
        /// <summary>
        ///2点間の角度を計算
        /// </summary>
        private double GetDegreeAngle(double aX, double aY, double bX, double bY)
        {
            double radianAngle = Math.Atan2((bY - aY), (bX - aX));
            return (radianAngle / Math.PI * 180);
        }

        /// <summary>
        ///2点間の直線距離を計算
        /// </summary>
        private double GetDistance(double aX , double aY, double bX , double bY)
        {
            double distance = Math.Sqrt(Math.Pow((bX - aX), 2) + Math.Pow((bY - aY), 2));
            return distance;
        }

        /// <summary>
        ///角度と距離からxy座標を計算
        /// </summary>
        private Tuple<double,double> GetToXY(double degreeAngle, double distance)
        {
            double radianAngle = degreeAngle * Math.PI / 180;
            double resultY = Math.Sin(radianAngle) * distance;
            double resultX = Math.Cos(radianAngle) * distance;
            return Tuple.Create(resultX, resultY);
        }

以下のような形で使用します。
            double x1 = 0;
            double y1 = 0;
            double x2 = 25 * Math.Sqrt(3); // 25√3→43.3012701…
            double y2 = 25;

            //2点間の角度を計算
            double resultDegreeAngle = GetDegreeAngle(x1, y1, x2, y2);
            //表示「角度>>30°」
            MessageBox.Show("角度>>" + resultDegreeAngle.ToString() + "°");
         
            //2点間の直線距離を計算
            double resultDistance = GetDistance(x1, y1, x2, y2);
            //表示「距離>>50」
            MessageBox.Show("距離>>" + resultDistance.ToString());

            //角度と距離からxy座標を計算
            Tuple<double, double> resultXY = GetToXY(30.0, 50.0);
            //表示「座標x>43.3012701892219 座標y>25」
            MessageBox.Show("座標x>" + resultXY.Item1 +" 座標y>"+resultXY.Item2); 


上を0°とした時計回りの角度での変換
「atan2」の角度を人がイメージしやすい以下の角度に変換してみます。
  
「反転90°−θ」を使えばなんとかなりそうです。
  
実際に作成した
「getAngleChange」関数と「getAngleChangeAtan2」関数のコードは以下の形となります。
        /// <summary>
        ///「右0°の反時計回り←→上0°の時計回り」角度変換
        /// </summary>
        private double getAngleChange(double radianAngle)
        {
            double y1 = Math.Sin(radianAngle);
            double x1 = Math.Cos(radianAngle);
            //「90°-θ」をする為、引数のyとxを入れ替える
            double newRdianAngle = Math.Atan2(x1, y1);
            return newRdianAngle;
        }

        /// <summary>
        ///上を0°とした時計回りの角度をラジアンで返す
        /// </summary>
        private double getAngleChangeAtan2(double y1, double x1)
        {
            //「90°-θ」をする為、引数のyとxを入れ替える
            double radianAngle = Math.Atan2(x1, y1);
            return radianAngle;
        }

「getAngleChange」「getAngleChangeAtan2」使用例
            string msgtxt = "";
            for (int i = 0; i < 9; i++)
            {
                double radianAngle = i * (Math.PI / 4);//i*45°

                //atan2で計算(度数法表記)
                msgtxt += "(atan2)";
                msgtxt += (radianAngle / Math.PI * 180).ToString() + "°>>";
                double tmpAngle = Math.Atan2(Math.Sin(radianAngle), Math.Cos(radianAngle));
                msgtxt += (tmpAngle / Math.PI * 180);
                msgtxt += "\n";

                //getAngleChangeで計算(度数法表記)
                msgtxt += "(getAngleChange)";
                msgtxt += (radianAngle / Math.PI * 180).ToString() + "°>>";
                double tmpAngle2 = getAngleChange(radianAngle);
                msgtxt += (tmpAngle2 / Math.PI * 180);
                msgtxt += "°(";
                msgtxt += Math.Round((tmpAngle2 / Math.PI * 180) * 100.0, MidpointRounding.AwayFromZero) / 100.0;
                msgtxt += "°)\n";

                //getAngleChangeで2回計算(度数法表記)
                msgtxt += "(getAngleChange)2回目";
                msgtxt += (radianAngle / Math.PI * 180).ToString() + "°>>";
                double tmpAngle3 = getAngleChange(tmpAngle2);
                msgtxt += (tmpAngle3 / Math.PI * 180);
                msgtxt += "°(";
                msgtxt += Math.Round((tmpAngle3 / Math.PI * 180) * 100.0, MidpointRounding.AwayFromZero) / 100.0;
                msgtxt += "°)\n";

                //getAngleChangeAtan2で計算(度数法表記)
                msgtxt += "(getAngleChangeAtan2)";
                msgtxt += (radianAngle / Math.PI * 180).ToString() + "°>>";
                double tmpAngle4 = getAngleChangeAtan2(Math.Sin(radianAngle), Math.Cos(radianAngle));
                msgtxt += (tmpAngle3 / Math.PI * 180);
                msgtxt += "°\n";
                msgtxt += "\n";
            }
            MessageBox.Show(msgtxt);

「atan2」と
作成した「getAngleChange」「getAngleChangeAtan2」とで
角度の違いは以下のようになります。
  

以下のような実行結果を得る事が出来るはずです。
  



「atan2」を自作する


「atan2」が返す角度
「atan2」は非常に便利な関数です。
引数に「対象物のxy座標」を渡せば、
簡単に「対象物への角度θ[rad]」を得る事が出来ます。
ここまで学んできた「三角関数」の知識を使い、
この「atan2」と同じ処理をする関数を自作してみようと思います。
  

「atan2」自作の為の準備
「atan2」を自作する為には、
処理のをどのようにすべきか考えてみます。
まず、
「x座標」が「0」の場合「y/x」が出来ない為、
「不定の回避」をする為の処理を考えます。
  
次に、
「x座標」が「0より大きく」なった時の処理を考えます。
  
そして、
「x座標」が「0より小さく」かつ、
「y座標」が「0以上」となった時の処理を考えます。
  
更に、
「x座標」が「0より小さく」かつ、
「y座標」が「0より小さく」なった時の処理を考えます。
  
あとは、これらの考えをプログラムに落とし込みます。


「myMakeAtan2」関数のプログラム
完成した「myMakeAtan2」関数は以下の形となります。
        /// <summary>
        ///「自作atan2」
        /// </summary>
        private double MyMakeAtan2(double y1, double x1)
        {
            double resultAngle = 0.0;
            //不定の回避処理
            //x座標が0の場合「tan(y/x)」がエラーとなるのでそれの回避
            if (x1 == 0)
            {
                if (y1 == 0)
                {
                    resultAngle = 0.0; //0°のラジアンを返す
                }
                else if (0 < y1)
                {
                    resultAngle = (Math.PI / 2); //90°のラジアンを返す
                }
                else if (y1 < 0)
                {
                    resultAngle = -(Math.PI / 2); //-90°(270°)のラジアンを返す
                }
            }
            //「-90°<角度θ<90°」の範囲の処理(x=0を除く)
            else if (0 < x1)
            {
                resultAngle = Math.Atan(y1 / x1);
            }
            //「90°<角度θ≦180°」「-180°<角度θ<-90°」の範囲の処理
            else if (x1 < 0)
            {
                //「90°<角度θ≦180°」
                if (0 <= y1)
                {
                    resultAngle = Math.Atan(y1 / x1) + Math.PI;
                }
                else if (y1 < 0)
                {
                    resultAngle = Math.Atan(y1 / x1) - Math.PI;
                }
            }
            return resultAngle;
        }

「myAtan2」使用例です。
            string msgtxt = "";
            for (int i = 0; i < 9; i++)
            {
                double radianAngle = i * (Math.PI / 4);//i*45°;
                //atan2で計算(度数法表記)
                msgtxt += "(atan2)";
                msgtxt += (radianAngle / Math.PI * 180).ToString() + "°>>";
                double tmpAngle = Math.Atan2(Math.Sin(radianAngle), Math.Cos(radianAngle));
                msgtxt += (tmpAngle / Math.PI * 180);
                msgtxt += "\n";
                msgtxt += "(MyMakeAtan2)";
                msgtxt += (radianAngle / Math.PI * 180).ToString() + "°>>";
                double tmpAngle2 = MyMakeAtan2(Math.Sin(radianAngle), Math.Cos(radianAngle));
                msgtxt += (tmpAngle2 / Math.PI * 180);
                msgtxt += "\n\n";
            }
            MessageBox.Show(msgtxt);

実行すると以下のような表示となります
  
うまく「atan2」と同じ結果の関数を自作出来ました。




C# 統計・微分積分・線形代数への道
次へ→http://1studying.blogspot.jp/2017/08/senkei-index.html#kuw02






以下のサイトを参考にしました。

三角比・三角関数
http://www24.atpages.jp/venvenkazuya/math1/trigonometric_ratio1.php
http://www24.atpages.jp/venvenkazuya/math1/trigonometric_ratio2.php
http://www24.atpages.jp/venvenkazuya/math1/trigonometric_ratio3.php
http://www24.atpages.jp/venvenkazuya/math1/trigonometric_ratio4.php
http://www24.atpages.jp/venvenkazuya/math1/trigonometric_ratio5.php
http://www24.atpages.jp/venvenkazuya/math1/trigonometric_ratio6.php

cos,sin,tanの値の対応表
http://www24.atpages.jp/venvenkazuya/math1/trigonometric_ratio6_table1.php

cos,sin,tan,cosec,sec,cotの値の対応表
http://www24.atpages.jp/venvenkazuya/math1/trigonometric_ratio6_table2.php

三角関数講座
http://78578203.at.webry.info/theme/7addd6aad5.html

三角比・三角関数の公式一覧。正弦・余弦・加法定理など
https://atarimae.biz/archives/18041

三角関数の基礎知識。sinθ cosθ tanθ の覚え方・孤度法・三角比の表まとめ
https://atarimae.biz/archives/18037

【図形と計量】sin,cos,tanの値の覚え方
http://kou.benesse.co.jp/nigate/math/a14m0313.html

高校で学べない人のための三角比と三角関数
http://www.geocities.co.jp/Technopolis/1505/sin.htm

逆三角関数の値
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1128926906

逆三角関数の「sin-1()」「Sin-1()」「asin()」「Asin()」の違い
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1191807661

Wiki:逆三角関数
https://ja.wikipedia.org/wiki/%E4%B8%89%E8%A7%92%E9%96%A2%E6%95%B0#.E9.80.86.E4.B8.89.E8.A7.92.E9.96.A2.E6.95.B0

数Iの三角比についての質問
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1134917496
sin(π/2+θ)=cosθ等の三角関数の公式の覚え方
http://integers.hatenablog.com/entry/2016/02/27/220804
【三角関数の基礎】必ず覚えておかなくてはならない5つの性質
https://juken-mikata.net/how-to/mathematics/sankakukansu.html
【三角関数の基礎】試験にでる要点まとめ
https://juken-mikata.net/how-to/mathematics/sankakukansu-youten.html
「sin(90° − θ) = cos θの加法定理を使った導きかた」
https://www.hmg-gen.com/sankaku90.pdf
三角比の公式 tanA=sinA/cosAの証明
http://manapedia.jp/text/2197
高校数学で習う三角関数の公式一覧と覚え方
加法定理の公式を覚えよう、積和公式を覚えよう、和積公式を覚えよう
http://media.studytown.jp/official-list-of-trigonometric-function/
数学Ⅰの三角比(サイン・コサイン・タンジェント)で使う公式の一覧
http://manapedia.jp/text/2177

90°+θ,180°+θなどの三角比の公式と覚え方
https://mathtrain.jp/kangenkoushiki

2つの座標から角度や距離を求める
https://qiita.com/arthur87/items/23d3c896dafbc8223fd5
2点間の距離と角度と座標の求め方
https://qiita.com/Hoshi_7/items/d04936883ff3eb1eed2d



↑Topへ