時計の文字盤とベクトルの偏角

[第1回小レポート]の課題の計算例 (レポートの形をととのえてはいない。)

表計算のワークシートによる

A B C D E F
1 文字盤の数字 θ (度) θ (ラジアン) θ (ラジアン) x座標 /R y座標 /R
2 1 60 1/3 π 1.047 0.500 0.866
3 2 30 1/6 π 0.524 0.866 0.500
4 3 0 0 0.000 1.000 0.000
5 4 -30 -1/6 π -0.524 0.866 -0.500
6 5 -60 -1/3 π -1.047 0.500 -0.866
7 6 -90 -1/2 π -1.571 0.000 -1.000
8 7 -120 -2/3 π -2.094 -0.500 -0.866
9 8 -150 -5/6 π -2.618 -0.866 -0.500
10 9 -180 -3.142 -1.000 0.000
11 10 -210 -7/6 π -3.665 -0.866 0.500
12 11 -240 -4/3 π -4.189 -0.500 0.866
13 12 -270 -3/2 π -4.712 0.000 1.000

この表は、Excel で、つぎのようにして作成した。(LibreOffice でも同様。)

表計算では、セルに計算式を入れることができる。 計算式から他のセルを参照することができるが、 それには、絶対参照 (列記号・行番号のまえに「$」をつける) と相対参照 (「$」をつけない) がある。 計算式をコピーすると、相対参照のばあいは参照先がずれていく。絶対参照のばあいは変わらない。

セル A2 に 数値 1 を入れる。

セル A3 に 式 「=A2+1」を入れる。その数式 (数値ではない) をその列の下のセルにコピーしていく。

セル B2 に 式 「=($A$4-A2)*30」を入れる。その数式 (数値ではない) をその列の下のセルにコピーしていく。

C列は手作業で作成した。分母を6に統一すれば機械的に計算することもできるが、 約分した形でしめしたかったので。

セル D2 に 式 「=B2*PI()/180」を入れる。その数式 (数値ではない) をその列の下のセルにコピーしていく。

セル E2 に 式 「=COS(D2)」を入れる。その数式 (数値ではない) をその列の下のセルにコピーしていく。

セル F2 に 式 「=SIN(D2)」を入れる。その数式 (数値ではない) をその列の下のセルにコピーしていく。

D~F列の数式のはいるセルの書式を、数、小数点下3けたにする。

データのある範囲を指定して、HTMLでエクスポートする。

このページにとりこんだ表は、HTMLにしてから編集して、 行番号・列記号をしめす列・行を追加してある。

なお、E列のセルの書式が「標準」のままだと、セルE13の値は「-1.8E-16」のようになる。 これは、多くの計算機用言語に共通な数値の指数型表記で、 「マイナス1.8 かける 10のマイナス16乗」を意味する。 【この「E」または「e」は「指数」を意味する exponent からきている。 しかし、この表記が意味するのは、指数関数に出てくる e の累乗ではなく、10の累乗である。】 10進小数で書くと、小数点下に 0 が15個ならんで、それから 18 がくる。 これは、理論上は 0 になるべきところなのだが、 セル D13 の計算結果が理論上の -3/2 π とくらべると誤差があって、 それの cos をとった結果が 0 からずれているのである。 小さい数値でも無視できないばあいもあるが、このばあいは 0 とみなしてよい。 セルの書式指定で小数点下のけた数を指定すれば気にならなくなる。

プログラム言語による計算 [2021-10-10 追加]

Python言語のプログラムによって、上のワークシートと実質的に同じ計算をする プログラム例を追加した。 ただし、ラジアン単位の角度をπの倍数であらわすところは、分数を約分せず、 計算された規則的な値のままにした。 また、文字を ASCII コードで表現できるアルファベット・数字などにかぎった。 ことばの表現を略式にしてしまったところがある。


2021-10-07, 2021-10-10
増田 耕一 (MASUDA Kooiti)
[この授業の目次ページ]