スポンサーリンク

JavaScriptの動かないコード(中級編) forループ内でイベントリスナを定義したら,動作がおかしい。(クロージャや関数オブジェクトの性質を理解していないために発生するエラー)


以下のJavaScriptコードが,意図した動作をしないのは,なぜですか。(制限時間1分)


やりたい事:
・ボタンごとに,0, 1, 2 という異なる数を表示したい。


<h3>ボタンごとに異なる数字をアラート表示するサンプル</h3>

<input type="button" id="id0" value="0">
<input type="button" id="id1" value="1">
<input type="button" id="id2" value="2">


<script>

for (var i = 0; i < 3; i ++ ){

  // クリック時のイベントを定義
  document.getElementById( 'id' + i ).onclick = function(){

    // それぞれ異なった数値を表示する。
    alert( i );

  };

}

</script>

解答は下記の通り。

続きを読む

大学1年生で学ぶ数学「解析学・微積分」の要点まとめ,勉強法の解説。 入門用に全体像・概要をわかりやすく紹介


大学一年生で学ぶ数学のうち,「解析学の基礎(微積分)」について

勉強法やポイントを,図表を交えつつ分かりやすく解説。

つまずきがちな微積分の全体像をつかめる。


解析学は,「微小量の厳密な理論」だ。

これを学ぶ理由・価値は何なのか?

また,どのように全体像を把握して学習を進めたらよいのか。


下記は,新入生が「解析学の概要」を理解する助けになるだろう。

  • (要約) 解析学とは,一言でいうと「微小量の理論」であり,微積分や極限のこと
  • (特徴) 無限小のレベルでの「精密さ・厳密さ」を追求する学問
  • (価値・意義) 微小量を制する者は,巨大な量をも制する。厳密な理論を展開できるから
  • (要点のつながり) 大学1年生の「解析学」のポイントを追いかけるストーリー
    • (ステップ1)「多重積分」のためには,1変数での積分や微分が必要。
    • (ステップ2)1変数の微分のためには,「関数列」や「点列」の極限操作が必要。
    • (ステップ3)「点列の極限」と「関数列の極限」には,収束法や連続性に応じた橋渡しが必要。
    • (ステップ4)点列の収束のために「ε-δ論法」が必要。(※最大のヤマ場)
    • (ステップ5)「極限の収束」を定義できれば,実数上に存在するさまざまな数や区間を正しく定義できる。
  • (実用性) 無限小がわかると,精度のよい「近似」が可能になる(テイラー展開)
  • (1年生の終盤) 多変数の解析学は,「ベクトル解析」の一歩手前まで
  • (まとめ)要点の復習
  • (その先へ) 大学2年生からの発展


(要約) 解析学とは,一言でいうと「微小量の理論」であり,微積分や極限のこと

大学の1年次の数学では,主に「解析学」と「線形代数」の2つを学ぶ。


このうち「解析学」とは,つまり微積分のことだ。

極限や無限を使って,関数の性質を調べ計算する。


解析学のカリキュラムでは,1年生の夏と冬で,

それぞれ以下のようなことを学ぶ。

  • 解析学(夏): 
    • 1変数の,微分と積分。
    • ε-δ論法による極限や,関数の収束の扱い方。
  • 解析学(冬): 
    • 2変数および多変数の,微分と積分。
    • 複雑な面積や体積の計算により,重積分をつかいこなす。

そして教官にもよるが,1年間の中でたいてい,常微分方程式の解法を教わる。


微分,積分,そして微分方程式

これが解析学の「1年間の成果」だと言える。


1年次の解析学は,下記のPDFまとめで独学できる。

大学の数学で,微積分(解析学)の講義ノートPDF。演習問題と解答付き(大学1年で学ぶ,1変数と多変数の微分積分学のオンライン教科書) - 主に言語とシステム開発に関して
http://language-and-engineering.hatenablog.jp/entry/20140509/UniversityCalculusPDFNoteLinks

  • 微分には極限やε-δ論法,級数展開,収束などが含まれる。
  • 積分には線・面・体積の積分や広義積分を含む。
  • 良質な講義資料を集めた。演習問題と解答もある。おかげで,高い参考書を買わなくて済む。


しかし,無料でぶあつい教科書PDFが手に入るのはありがたいが,

まずは手っ取り早く,全体の概要だけを知りたい。

という人も多いだろう。


そういう人のために,解析学のポイントのつながりを解説するのが本記事だ。

(特徴) 無限小のレベルでの「精密さ・厳密さ」を追求する学問

解析学とは,「無限小のレベルで厳密に正しいかどうか」を突き詰める学問だ。

どれほど細かくしても正しい,という精緻(せいち)で精密な理論を構築する。


たとえば,関数 f(x) と g(x) を比べて,

遠くから眺めると「だいたい一致している」ように見える。


しかし,よく見ると g(x) には,いくつか小さなでっぱりがあって,

細かいところで f と g は互いに一致していないことが分かったとする。


f:id:language_and_engineering:20160330183030p:plain


このでっぱりの大きさはεだ。

εをものすごく小さくできる場合,どこまで小さければ,

「f(x) と g(x) は互いに等しい」

と言えるのだろうか?

続きを読む

大学の「信号処理論・デジタル信号処理工学」の講義ノートPDFまとめ。基礎理論に入門できる資料や,演習問題の解答を集約


大学の「信号処理論」の講義ノートPDFまとめ。

Web上で無料で入手できる教科書ファイルや,演習問題と解答を集約した。


信号処理は,フーリエ変換やz変換を使ったデータ解析の考え方であり,

応用数学・工学の中でも非常に重要な基礎的ポジションを占める。


「サンプリング」によってアナログとデジタル(離散データ)の橋渡しをしたり,

FFTやフィルタによって,周波数領域で

音声や画像の波形データを解析・加工・ノイズ除去したりと,

応用分野や関連ジャンルがものすごく多い。


下記のPDFや動画で独学できる。

  • (1)信号処理を独学するための,1ファイルの講義ノート
  • (2)複数回に分かれた「信号処理論」の講義資料
  • (3)英語で読める講義ノートPDF
  • (4)動画で学ぶ
  • (5)試験問題と解答


※なお,信号処理の関連分野も下記のPDFで学べる。

  • また,信号処理と密接な関係を持つ工学のジャンルとして,周波数領域での線形システムを扱うための古典制御論の講義ノートも参照。

(1)信号処理を独学するための,1ファイルの講義ノート

Web上では,東北大の先生が作った「やる夫シリーズ」が最も有名。

ただし注意点として,この講義ノートは,
「フーリエ解析・ラプラス変換」および「古典・現代制御論」をすでに履修済みという前提で書かれている。

やる夫で学ぶディジタル信号処理
http://www.ic.is.tohoku.ac.jp/~swk/le...

  • Web版

1. フーリエ級数
2. 複素指数関数型のフーリエ級数
3. フーリエ変換
4. 離散時間信号
5. 離散時間フーリエ変換
6. 離散フーリエ変換
7. フーリエ変換の性質(1): 時間シフトと変調
8. フーリエ変換の性質(2): たたみこみと積 ― 線形時不変システムの入出力関係
9. フーリエ変換の性質(3): パーセバルの等式 ― 正規直交展開としてのフーリエ変換
10. サンプリング定理
11. スペクトル解析と窓関数
12. ディジタルフィルタの基礎
13. ラプラス変換
14. z 変換
15. ディジタルフィルタの解析
16. ディジタルフィルタの設計


やる夫で学ぶディジタル信号処理 - yaruodsp.pdf
http://www.ic.is.tohoku.ac.jp/~swk/le...

  • PDF版。233ページ。
  • 「ディジタル信号処理というネタを通じて,フーリエ解析,ラプラス変換,線形システム論,制御論などについて復習し,理解を深めてもらうことに主眼をおいている」


1ファイルで全体を網羅した資料としては,

東京電気大の先生による講習PDFもある。

「デジタル信号処理の基礎」
http://www.asp.c.dendai.ac.jp/ASP/DSP...

  • 93ページのスライドまとめ資料。図入りで内容は簡潔。


技術講習会
http://www.asp.c.dendai.ac.jp/ASP/sem...

  • 「初学者の方にはディジタル信号処理の概要を把握していただき、ある程度数式的知識のある方にはその意味付けを理解いただくことを目的とします。」

1日目:
 アナログ信号とディジタル信号
 時間領域と周波数領域
 線形システム
 ディジタルフィルタ
2日目:
 伝達関数による音響系のモデル化
 インパルス応答の測定法
 逆フィルタ
 適応フィルタとその応用


岐阜大学の講義ノートも,内容が充実している。

ただし入門的な資料ではない。

信号処理のページ
http://www1.gifu-u.ac.jp/~yktlab/dsp....
第一部:
 フーリェ級数展開,フーリェ変換
 ラプラス変換
 線形時不変システムの表現
 離散時間信号とその表現
 離散時間システムとその表現


信号処理 ~第 1 部 フーリェ変換を中心に~
http://www1.gifu-u.ac.jp/~yktlab/sp1.pdf

  • 72ページ。

(2)複数回に分かれた「信号処理論」の講義資料

続きを読む