1. Excel でのデータ管理
Excel は表計算ソフトウェアである。様々な帳票を作成するのによく利用される。 電気電子工学コースでは、実験などのデータ処理でもよく活用される。 式などをうまく利用するとシミュレーションなども可能となる。
ただし、Excel 自体はセル記述の自由度が高いため、通常の利用だとたくさんの設定作業が必要となる。この授業では、セルにある制約を設定することで作業量を大幅に低減できるテーブル機能を紹介する。また、Excel を使う上でのちょっとした Tips なども多く紹介したい。
2. 復習: これまでの使い方
まず、高専1年生くらいでやりそうな正弦波のグラフ作成 (0.01秒刻みで0.1秒までの10Hzの正弦波波形)をこれまでの知識で書いてみる。
- A列: 時刻 t[s] を設定する。0.0 から 0.1 までのデータを入れる。
- B列: 電圧 v[V] を設定する。今回は大きさは1としておく
2.1 ラベルと時刻の設定
以下の手順で実施する。
- ラベルを A1, B1 のセルに記述
- A2に0.0を記述
- A3に「=」をタイプ
- A2のセルをクリック
- 「+0.01」をタイプ
- A3の右下の点にカーソルを合わせる
- 点をドラッグしてA12まで引っ張る
- 成功すると最後の図のようになる
2.2 電圧列の設定
次に B 列を設定する。 で計算すればよいので、A列の時刻を使って各行の値を導出する。
- B2 に「
=cos(2*PI()*10*
」まで入力する - A2をクリック
- 「)」を入力して確定
- B2のセルを選択
- B2のセルの右下の点をダブルクリック
- Aの列と同じ行数だけ自動的に展開される
2.3 グラフの描画
工学で主に作成するのは「散布図」である。間違っても「折れ線」などで書かないこと(折れ線だと横軸の幅が均等になってしまう)。
- グラフを描画したいデータエリアを範囲選択する必要がある
- A1をクリック
- シフトキーを押したまま、右にカーソルを移動
- シフトキーは押したまま、ctrlキー(macOS の場合は Command キーでもよい)を押す
- その状態で下にカーソルを移動
- 挿入リボンを開き、散布図を選択する
- グラフが作成される
2.4 近似曲線の追加
以下の手順で近似曲線を追加する * グラフをクリック * グラフ要素の追加・近似曲線・その他の近似曲線オプションを選択 * cos は偶関数なので偶数次の多項式近似をするとよい。こんな感じになる。サンプル点が荒いときには近似曲線は有効である
2.5 見た目の修正
軸ラベルなどが設定されていないので、各自で試してみよう
- 軸ラベルの追加
- x軸の数字の位置を下に(設定で変更可能)
- タイトルを下に
やり方がわからない人は脚注1のヒントを参照
3. これまでのやり方のダメなところ
3.1 問題1 マジックナンバー問題
問題1
- 0.01[s]というマジックナンバーがA列全体に存在
- 10[Hz]というマジックナンバーがB列全体に存在
- 1[V]というマジックナンバーがB列全体に存在
解決1
- Excel の名前機能を利用する
3.2 誤差が累積する
問題2
- 0.01 という数値を累積加算している
解決2
- 行番号を利用する
4. 問題の解決
4.1 名前の設定
以下の手順で名前を設定し、それを利用する
- 1から3行目まで全体を選択(左端の数字の部分を選択)
- 右ボタンで挿入を選択
- 挿入した3行に必要事項(dt, f, A)を入力
- 可変な部分のセルに色を塗っておく
- B1を選択し、名前欄に「_dt」と書く B2を選択し、名前欄に「_f」と書く B3を選択し、名前欄に「_A」と書く
ここで、dt, f, A はそのまま列名になってしまうので,ぶつからないように _ を忘れないこと.
4.2 名前を使った数式の変更
- マジックナンバーの部分を図のように名前で設定したセルの内容に変更する
名前のおかげで式がかなり見やすくなる。前述の通り,名前はセル名と区別できるように「_」で始まる文字列にしている。日本語なら「_」は必要ない。
4.3 行番号による計算
Excel では ROW() という関数で行番号が得られる。これを使って以下のように時刻列を書き換える。
A5のセルを=(ROW()-5)*_dt
という式に修正する。表データが5行目からスタートするので、5を引いた上で前述の「_dt」を掛け算する。この結果、誤差が累積することがなくなる。
* A5セルの右下をダブルクリックして下までコピーすると、A 列が全て行番号から計算されたことになる。
5. テーブルを利用する
5.1 なぜテーブルを使うのか
- これまでのやり方
- 我々が利用する工学データは列はみんな同じものが多い
- 毎回コピーするのは面倒だ
- → テーブルの活用
- テーブルの場合
- 列は全て同じ式になる
- 式が見やすくなる
5.2 テーブルを使った書き方
以下の手順でテーブルで表を作り直してみる。
- A4をクリック
- シフトキーを押しながら,右カーソルを押す(A4とB4が選択)
- そのままctrl (macOS の場合はコマンドキーでも可)も押しながら,下カーソルを押す(A4からB15が選択)
- 挿入リボンを開き、 テーブルをクリックする(左図)。表示されるダイアログで 「先頭行をテーブルの見出しとして使用する」にチェックが入っていることを確認して「OK」を押す
- せっかくなのでテーブルで式を計算するために式を全て消す
- A5のセルに「
=(ROW()-5)*_dt
」とすると,A列が全て設定される。ここで「_dt」はタイプするのではなく、B1セルをクリックすること。 - B5 のセルに「
=_A*COS(2*PI()*_f*[@[時刻t’[s’]]])
」とする。ここで「A」「f」「[@[時刻t'[s']]]」の部分はタイプするのではなく、それぞれB3、B2、A5セルをクリックすること。
テーブルでは列の式が自動的に全て同じになることを確認する.
5.3 テーブルによるグラフの作成
- 先ほど作成したグラフを消し,テーブルからグラフを作成
- テーブルのどこかをクリックした後で,挿入から散布図を選択
- 近似曲線,軸の最大値・最小値以外を設定(後で値を修正するため)
- _dt, _f, _A の変更でグラフが変わることを確認
- 家庭用交流50[Hz],100[V]のグラフを1周期だけ表示するには?
- _dt = ?
- _f = ?
- _A = ?
6. 本日の課題
家庭用交流の実効値と平均値をデータから計算する。
6.1 計算する数式
家庭用交流の実効値と平均値は以下の式で計算できる。
このような積分はコンピュータで計算できないので、以下のような方形近似を行う。
6.2 手順
手順を以下に示す
- 現在の波形は1周期+1点計算してしまっているので、最後の行(15行目)を選択し、削除する
- C4 をクリックして,「v2」と記述 → テーブルが自動拡張
- C5 において「=」をタイプ後に B5 をクリック,「*」 とタイプ,再度 B5をクリックすると以下のようになる
=[@[電圧v’[V']]]*[@[電圧v'[V']]]
- D4をクリックして,「v2dt」と記述 → テーブルが自動拡張
- D5 において「=」をタイプ後に C5 をクリック、「*」をタイプ、「_dt」(B1)をクリックすると以下のようになる
=[@[v^2]]*_dt
- テーブルリポンを選び,集計行のチェックを追加
- B15 のプルダウンで「合計」を選択して「0」になることを確認
- D15 のプルダウンで「合計」にして「0.05」になることを確認.これが式のΣまでの値
- D16 で実効値を計算 (ここは考えてください)
- D17 で実効値の理論値を計算
- D18 で誤差率を計算
- E列に|v|,F列に|v|dt を用意して,平均値も計算
- E17 で平均値の理論値を計算
- E18 で誤差率を計算
6.3 提出する課題
10点の計算では平均値の誤差が大きい。テーブルを修正し,100点で計算してみる
- 実効値と平均値の理論値も同時に計算
- 計算値と理論値の誤差率を比較
- グラフは元の のみの結果にすること(テーブルにすると余計なものが追加されてしまう)
- 100点の場合の実効値と平均値の誤差について考察
- 作成した Excel ファイルを添付し,考察をオンラインテキストで提出
-
見た目の修正のヒント: A. グラフ要素を追加: 軸ラベル: 第1横軸: 軸名を「時刻t[s]」。B. グラフ要素を追加: 軸ラベル: 第1縦軸: 軸名を「電圧v[V]」。C. タイトルを「正弦波電圧波形」とし,一番下へ。D. 横軸をクリックし,軸の書式設定: 軸のオプションで最大値を0.1に。E. 同じくラベル: ラベルの位置を「下端/左端」。F. 縦軸をクリックし,軸の書式設定: 軸のオプションで最大値を1.0,最小値を−1.0に↩