\CAPTION\ |
\CAPTION\ |
基本的にExcelを題材につかいますが、表計算ソフトとしての考え方はExcelでもOpenOffice calcでも、演習室には入っていないものの三四郎などのソフトでも、変わりません。
ソフトの使い方(メニューの選び方)などは変わりますが、大差ありません。
なるべく、そういった部分に立ち入らないようにします。
縦横にマス目に区切られ、それぞれの枠内に値(数値、文字列)や式を書き込みます。
まさに「表」であって、その表に式を書き込めば「自動的に計算してくれる」便利な表として使うことができます。
また、グラフを自動で書かせたり、より複雑な統計処理を行う機能もあります。
表計算では、この枠1個を「セル」とよび、すべての処理の基本単位になります。
(これは予め用意された「変数」として機能します。)
一つのセルを特定して表記するために、縦方向(行方向)と横方向(列方向)に順番に(住所として)数字やアルファベットが割り当てられています。
一般的には、縦方向は数字が1〜、横方向はアルファベットでA〜(A,B..Z,AA,AB,..AZ,BA..)がついています。
これをつかって、「D3」のセル(左から4つめ、上から3つめ)というように指定します。
また、長方形状に複数を指定する場合は、「B3:E10」のように「:」で対角のセルをつないで指定します。
さて、表計算ソフトが便利なのは、「数式のコピー」ができることです。
数式のコピーが値のコピーと違うところは、「式で参照しているセルも自動的に修正してくれる」ことです。
たとえば、B1の数式を、B2にコピーしてみます。すると、
このように、式をコピーするときは、コピーする数式が使っている他のセルが、その式からみて左右にどれだけ、上下にどれだけ離れたところのものかという相対的な位置をそのままつかいます。
ただし、実際には、「常に特定のセルの値をつかいたい」こともあるわけで、そのときは「$」をつけて「これはコピーするときにいじるな」という指示をだせます。
以下、実例で確認します。
実際に操作してみてください。
ここでいう「範囲」の指定とは、複数のセルを長方形の形(縦○個×横○個)まとめて選んで捜査の対象とする方法です。
さきほどのメニュー選択も実は「Alt+E → I → R, D」とキーボードで操作できます。
表計算ソフトはキーボードで式を入力したりもするので、キーボード操作になれておくと操作が早くなります。マウスを使うと、持ち替えなければならないので。
なお、以上の操作は連番や一定間隔で数列を作るときに頻繁に使う手順です。
ステップ3:B1を入力、B2以下にコピー
ここで、右にコピーしたときに、B列ではAを参照していたのが、C列ではBを参照するようになることに注意してください。
以上、適宜操作すると、右図のような結果になります。
ステップ2:A2をA3にコピー →さらにA4〜にどばっとコピー
コピーは二つの方法があります。
します。なれると、後者の方が使いやすくなるとおもいます。
まず、該当する数式を左端もしくは上端に含むように範囲を選択
メニュー→編集→フィル→下方向/右方向へコピー を選択(もしくはCtrl-D/Ctrl-R)
その方法は
で行います。選んだところは見た目わかります。
なれると、キーボードの方が楽になります。
ステップ4:B1〜B?? をまとめて、C1〜、 D1〜に横にコピー
同じく、方法としては、「Bを範囲指定の上Ctrl-C、C1でCtrl-V」と「B〜Dで範囲指定して右にフィル(Alt+E, I, R / Ctrl-R)」があります。
この場合、セルを表す「D3」などに「$」をつけます。
「D」の前に$をつけています。
この形は、わりとつかいます。
「3」の前につけています。
特定の定数を指定する場合などによく使います。
以上の「$」の指定も重要なテクニックですので、覚えておきましょう。
この場合、コピーすると、
となります。
この場合は先ほどとは逆に、行方向(1〜)の指定は変わりません。
式をコピーしても、参照先は変わりません。
簡単とはいえ、工学部で表計算をつかう理由はデータの処理や数式の確認であって、使い道としては重要です。
さくっと終わって暇だ、という場合は、y=x*xなど、y=log(x)などその他の関数を試してみましょう。
21個の点でよければ、いまのままC列の式だけ差し替えれば、またB列のXの範囲や刻みを変えればすぐにグラフにも反映されます。
そこで、右図ではB列に「i」という本来は必要のない値(中間変数、内部変数)をつくり、それでxを作っています。
数表ができたら、同じようにグラフをつくってみてください。
これをやってみて、余裕がある場合は、SINの右に=COS(x)をつくってみましょう。
ただ、そのまま、xyを選んでグラフにすると、楕円が表示されます。
こういう「平面であること」「形をみたい」が重要なグラフの場合、この軸比が重要です。
単純には、グラフそのものサイズを変えてしまい、見た目で軸の長さが同じになるようにします。
右の2つめの図のように、グラフのブロック内のグラフの書かれていない白地のところで右クリックをします。
今回は、これで目盛線が正方形になるようにグラフのサイズを修正すればOKです。
しかし、表示する関数によっては、そもそも、縦軸、横軸の目盛の間隔が異なったり、値を変えたときにかってに軸の目盛がかわったりして「おせっかい」に悩まされることがあります。
右4番目の図のように、グラフの軸のうえで右クリックすると、「軸の書式設定」が現れます。
以上のような操作により、関数や数値で規定されたものの形が、わかりやすく図示できるようになります。
これを時間間隔 0.04[s]ごとに、計算し、グラフにしてください。
その際、
右図は参考です。こういう感じにしてください。
到達度チェック
手順:
という手順で、y=2x+3のグラフができます。
[A2]=1, [A3]=A2+1 を下コピー
表を必ず左上から使うわけではないため、「データがいくつか」「何番目か」をわかりやすくするために、つくっておくとよい。
ここでは、−10〜10を1刻みでつくっておく。
[B2]=-10, [B3]=B2+1 (この+1が刻み)
これをコピーして合計21個にしておくと、+10までになる。
[C2]=2*B2(すなわちX)+3, 下コピー
これで、B列のXに対応したYの値が求まる。
操作:B2にカーソル→Shift押しながらC22まで移動
すると、右図のように選択される。
※右図にはあるものの、まだ手元にグラフはない。
操作:メニュー→挿入→グラフ
すると右のようなダイアログボックスが表示されるので、
一般に、こういうグラフやデータを表すときは、散布図を使用する。その他は、どちらかというとビジネス的な使い道。
散布図には5種類形式があり、点のみ、点の有無、曲線でつなぐ、直線でつなぐが異なる。
本来、なにを意図して線を引くかを考えた上で形式を選ぶが、今回は点のみが妥当。
つながりをみたいときは「点+直線」「直線のみ」が無難。
中段の「曲線でつなぐ」は、グラフ化する点の配置によって思わぬ蛇行をすることがあるので要注意。
これをやってみましょう。
もちろん、先ほどの方法で問題なくグラフにできます。
しかし、三角関数など、「π」が重要な横軸をもつグラフの場合は、x軸の刻みもπを元に作った方が見栄えがよくなることがあります。
そのほか、刻みを調整したい場合など、直接xを作るよりも「○番目のxを式で決める」という使い方が便利なことがあります。
ここで出てきた「Pi()」は「π」の値を常にもつ関数、「SIN()」文字通りsin関数です。
3列まとめて選択してグラフをつくると、同時に表示されます。
ここでは、
で表されるグラフを書いてみます。
これは
なので、半径1の円です。
数表の作り方は似ています。先ほどのグラフでxだったところが、tに代わり、x、yがCOS, SINになっただけです。
座標軸をみると、ちゃんと1を通っていますが、座標軸の比率が1:1でないため、楕円になります。
そこで、調整します。
ただ、x軸は目盛だけ、y軸は線と、そもそも見た目が異なり、調整しにくいので、統一します。
そのなかに「グラフオプション」があるので選びます。
そのなかの「目盛線」タブを選んで、x軸の目盛線にもチェックをいれます。
この場合、軸を固定します。
ここで、「目盛」タブをひらき、「自動」のチェックを外し、右に好きな値を設定します。
さしあたり、X軸とY軸で「目盛間隔」が一致していればよいでしょう。
これは特に、計算で設計したり、シミュレーション結果をグラフで表示するときに、座標として「xy」が出てくるならば必須の操作といえます。
講義冒頭で回収します(課題提出の試験をかねて)。
物体を初速度 v0[m/s]で水平から上方に角度θの方向に打ち出すと、放物運動をします。
空気抵抗を無視すると
という軌道を描きます。
計算の数はy=0になるところ(地面に落ちるところ)までは含む程度、適当に決めてください。
とします。
注意:cos, sinはラジアン単位なので、deg→radの変換をする (/360*2*Pi()など)
このような数値の連なりが「数列」です。
数列というと、高校で習う漸化式がどうこう、等比数列、等差数列などがありますが、あれは特殊な部類で、我々が使うものは「実際のデータ」としての数列が一般的です。
さて、その数列の計算で、ここまでの例は数列の個々の数値から別の数値を計算し、別の数列を1対1で作り出すというものでしたが、数列ごとに計算が必要な場合があります。
その例が「合計」とか「平均」のたぐいです。
こういった、数列の計算について、今後使う表記を明示しておきます。
なお、「aiを1からnまで加えたもの」は新たに「s1=a1, s2=a1+a2...」と別の数列になります。 たいてい必要なのは「n個の合計」とかですが。
※下にiとだけ書くような場合があり、その場合は具体的な計算ではなく、「合計をもとめるという発想」のみを主張。
最初の直接的な式は「100個の合計」といわれたら100項入力しなければならず、苦痛でありミスも起きます。
しかし、書き換えた方法は式は1本、あとはコンピュータに「100回繰り返せ」というだけで、同じ式で1000回でも計算できます。「繰り返す」はコンピュータが得意な方法なので、こういう書き換えは非常に重要です。
実際、「プログラムを作る」という場合、させたいことをいかに「単純な指示の繰り返し」に置き換えられるかが、実際の作業を簡単に、かつトラブルなくこなすことにつながります。
これをもとに、
人によっては「1+...n」が「n(n+1)/2」になることを覚えているかもしれませんが、忘れてしまっても、表計算ソフトがあれば、数百くらいまでは式のコピーで一気にいけます。
を試してみましょう。
2行目の項目を「予算」にしてE2に予算額を、E3以降の数式を「=E2-C3*D3」にするとお金の減り具合がわかります。
高校生の頃からそれでお小遣い帳を大学院終わるくらいまでつけてました(笑)。
(途中で通帳連動にしたり、消費税対応にしたりしてどんどん(ファイルが)肥大化)
=sum(左上セル:右下セル) 例:=sum(C3:C7)
と書くと、長方形領域のセルの合計値が求まります(普通は縦1列とか横1行の範囲だけですが)。単に決まった数のデータの合計だけを求めたいという場合に、つかえます。
もちろん、sumを使ったセルもコピーでき、「$の規則」もそのまま働きます。
※右コピー:範囲指定でCtrl-R(メニュー→編集→フィル→右, Alt+E-I-R)
具体的には、以下の計算をします。
この式を計算するためには、
多くの場合、最小2乗法を使おうという場合はデータの数は予めわからないことがあり、実験の結果などとして、n個のデータが得られます。
そこで、「n」を求めるため、与えられるxやyと同じ数だけ「1を加える」ことでnを得ています。
ただし、nはデータの個数で、すべてのΣは「対象となるすべてのデータに対して」なので、略しています。
(※Dは最終的には不要な値。ただ、a,bで共通に分母になるのであえて別に計算した方がわかりやすい)。
の4つの合計値が必要です。
そこで、表計算で計算する方針としては、
とします。
※1=F12*D12-B12*B12
※2=(F12*E12-B12*C12)/B13
※3=(D12*C12-B12*E12)/B13
最後の計算式が多少やっかいですが、大部分は式のコピーですみます。
基本的に、先の数式、手順の通りですが、F列に「1」だけを足し続ける変な列があります。これは
という当たり前の計算をしています。
この妙な式には意味があります。
同じnはこの計算表ではA11のところにも現れていますのでこれを使うことも可能ですが、D,a,bの計算で一つだけ11行の数字を使うよりは、すべて12行目の値だけで計算できた方が美しいと思いませんか?
実際問題としては、データを追加したりするときのリスクは、この方法で求めたnのほうが安全と考えられます。
できた人は
(ただし、講義の進捗状況により、課題としない場合もあります:講義で通知)
ここまで終わって時間が余るという場合は、345,456,567あたりのデータも試してみましょう(提出は自分の学生番号3桁で)。
そのときに、数式を入力し直すのではなく、既存の最小二乗法計算シートを活用する方法を考えてみましょう。
例:(854と123の場合、+αのグラフ付き)