シラバスより †フリップフロップの回路動作から、計算機が動く基本原理を学ぶ。 フリップフロップの回路動作から、計算機が動く基本原理を学ぶ †http://www.geocities.jp/hiroyuki0620785/intercomp/logic/nand/cmosnand1.htm gnuplotを利用できるので数学が簡単に理解できるようになる †数学は、グラフを利用して、数学概念を視覚的に表示することにより理解しやすくなる。 x−y平面においたトーラス図形をy軸周りに回転させるスクリプトを書いてみたが、Macのgnuplotは上書きするのできれいに見えない。Macの場合はGrapherを使えばよい。CentOS5系の計算機だとこのスクリプトでOK. 科学情報をあつかうための図形描画法を学び、科学情報を記述する文書が簡単に作成できるようになる †最近良く利用される、イラストレーターの利用法の演習を行う。以下のぺ-詞を参考にする。 http://illustrator.nkdesk.com/ 元の図として回路図を使うときの例は添付のcircuit.jpg 絵のサイズの余白部分の調整はツールボックスの下の方にあるアートボードサイズ変更を使う。(CS4)矢印は効果/スタイライズを利用する。図形の周囲の線、内部の塗り方は常に表示されてるツールを使う。texに貼りこむときに使うeps保存は失敗する時がある。その時はjpgで保存し、jpeg2epsで変換する。 http://natsci.kyokyo-u.ac.jp/~takasima/picture/baneMondai.ai http://natsci.kyokyo-u.ac.jp/~takasima/picture/MoonFall.ai http://natsci.kyokyo-u.ac.jp/~takasima/picture/verticalCircle.ai 図形データがライブラリで供給されている例としてxfigを利用してみる。 これはXWindowとよばれるUnixのアプリケーションなのでCygwin環境から利用する。 すべてのプログラムからCygwinを選択してスタート 黒いうWindowの中に表示がされたら以下をタイプする。 startx 端末の中にUnixのコマンドを入れる。xfigを動かす場合 pwd ls mkdir xfigFiles cd xfigFiles xfig & 後はメニューに従う。ブックシェルフのアイコンのところにライブラリーがある。 情報をWebからとるだけでなく、自分の情報を載せることにより、科学情報を発信できる基礎をつくる †http://natsci.kyokyo-u.ac.jp/~takasima/pukiwikiSougou/index.php 情報を伝えるスキルの改善を目指す。プレゼンテーションのより効率的な方法を研究する。 †学園祭で研究室の活動紹介をするように言われた。ポスター、スライドショー、展示物を用意する。準備の方法を考えてみよう。 計算機のプログラムについて学ぶ。シミュレーションなど計算機の利用により、実験結果を予測する方法を学ぶ †まず、Cygwinの利用法になれる。「すべてのプログラム」からCygwin-Xをクリック。Xwin Serverをスタートさせる。 落ちる時があるので、「隠れているインジケータを表示させる」からXserverを右クリックしてExitを押す。それでリセット?されるか何かして使えるようになる。 まずUnixのコマンドになれる。 ls # ファイルのリスト less # ファイル内容のブラウズ cd # トップディレクトリに戻る pwd # 今のディレクトリ(フォルダー)の表示 which xxx # 実行ファイル xxxの場所の表示 cd ../ # 一つ上のディレクトリに移動 mkdir xxx # xxxというディレクトリをPWDに作成 rmdir xxx # xxxというディレクトリを削除 rm xxx # xxxというファイルを削除 などのコマンドを理解する。 にあるプログラムをCygwinのgccを使ってコンパイルする。 計算機を学習に利用する方法を考える。計算機のプログラムの作成を含む †授業ではe-learningについて、感想を書いてもらった。 スクリプトを使うと、すぐいろんなものを作れる。以下の頁のスクリプトをリナックスのbashの上で実行するとgifアニメと言うものができる。 これは右進行波であるが、左進行波を同時に表示し、足し合わせると定在波ができることを示してみよう。 gnuplotはグラフも3Dのきれいなものが作れるので試してみよう。 計算機を利用して、実験をする方法を考える †計算機では実験と言うとふたつのやり方がある。ひとつはモンテカルロ計算と呼ばれる、さいころを振るようなもの。もうひとつはモデルを作って微分方程式を解いていくものである。 その違いについて簡単に解説する。 まず、モンテカルロ計算から。 これから、さいころを60回振って、1の目がでる回数を数える作業を100回やったときの、その回数の頻度分布は以下のプログラムで作れます。画面に頻度分布のデータが出力されるのでファイルにしてgnuplotでグラフを書く作業は以下のとおりです。 g++ -o saikoro saikoro.cc ./saikoro > saikoro.dat gnuplot plot 'saikoro.dat' またポアッソン分布の乱数を発生させる方法がある。 http://hata.cc/docs/sim/poisson.html 計算機を利用して、データを取り、整理するやり方を学習する †データをとる一番簡単な方法は、音声入力。入力した音声の周波数を分析し、12音階の周波数が音階を変数とする指数関数に近似できることを学習する。また音声には倍振動成分が含まれることも学習してみよう。 http://www.ne.jp/asahi/fa/efu/soft/ws/ws.html waveSpectra をダウンロードし、圧縮解凍ツールにドラッグドロップして解凍する。アプリケーションをクリックで起動し、ドレミを発声する。赤丸で解析を起動し、ポーズボタンを押して画面を停めた後、スペクトルをマウスでなぞり、ピーク位置の周波数をメモする。ラから始まる全音と半音について、全音については2を半音については1を足して、変数nを音に対応させる。つまりラは0、シは2、ドは3、レは5、ミは7とし、それぞれの周波数を調べる。二オクターブのデータを取り、テキステエディタでgnuplot のデータを作成して、プロットさせる。データはすべて半角、データ区切り文字は空行。 音について基準となるものが必要になる。通常は音さが使われるが、ここではWave Geneを利用してみる。左の数値を変えると、いろいろな音が出る。この音を聞きながら、楽音をWebで調べて、ドの音などを発生してスペクトルを調べる。ラの音は音楽教育では440Hzであるらしい。以下のプログラムは指数関数に従う場合の周波数をドから始めて2オクターブ分表示するものである。計算式は平均律と呼ばれるもの。 このほかに和音の比率から音階を決める純正律と呼ばれるものがある。この音階の周波数数を平均律のものと比較してみよう。ドミソ、ファラド、ソシレが4:5:6になるように音階を作る。 データの整理方法について研究する †データの整理方法を学ぶには統計学的な考え方を身につける必要がある。これは数学的な内容を含むので一般には理解が難しい。そこでIPCの双方向授業の機能を利用して、理解の進展を各人の作業を液晶ディスプレーに表示しながら、理解度の進展を全体でチェックしていく授業を行ってみる。 材料は、高嶋の統計についてのトラぺ、saikoro.ccなどである。 ただし、上のリンクでは同じような分布をエクセルで作るやり方が示されている。 学習、研究の成果を発表するための道具についてさらに勉強する。TEXなどを利用した科学的文書作成について学ぶ †TEXとは数式や図を含んだ文章を簡単に作成するツールです。htmlのタグみないなものを入れた文章を作成し(.tex)それを dviファイルというものにplatexコマンドで変換します。これを表示ソフトdvioutで見てうまく変換できていれば印刷したり、pdfにしたりします。platexを起動するツールがないときはアクセサリーのコマンドプロンプトをつかいます。ディレクトリの移動で漢字が必要な時はAlt+全角/半角キーで切り換えて入力します。実行は cd デスクトップ cd 磁気能率 platex magneticM.tex 研究室の補足説明文書のトラぺの例を示します。 元の文書のリンクとしては http://www.metro-u.ac.jp/~suzukitr/index.html wikiに数式を入れるにはサーバーにlatexを入れておく。またimageMagickも入れておく。さらに、拡張のpluginプログラムをwikiのpluginに入れておく。 また、ヒッグスメカニズムでゲージボソンに質量を与える方法も簡単に記述できる。 GPSについて学ぶ †Global Positioning System とは。時計を持っている衛星から時間の信号を受信する。自分の時計との時間差が衛星までの距離となる。二つの衛星の場所が分かっていると、それからの距離がわかると、その軌跡は空間に描かれた円となる。もうひとつ衛星があるとそれからの距離が描く球を考えることが出来る。円と球の交点は二つできるが片方は地表面の遥か彼方になる。自分の時計は誤差がある可能性があるので、もうひとつの衛星を使って誤差を補正すると正確な3次元的な点が求まる。(NHKのラジオ番組より) 地図のデータをVC++を使って描画してみよう。以下のリンクにVC++の簡単な使い方がまとめてある。 WinAPIを説明した下のほうのリンクを表示する。「トップページに戻る」をクリックして第22章をクリックし、プログラムをCtl-Cでコピーしておく。Studioを立ち上げて、種類としては「全般」を選択して「空のプロジェクトを作成」を選択する。その後は上のリンクの通り。ビルドしたら、実行ファイルのところ(debug)に福島県の白地図をコピーしてtestと名前を変更しておいて実行する。 GPSロガーを使ったデータを扱う †GPSロガーを使ったデータを取り扱うにはやはりgnuplotが便利そうである。福島県の地図データを保存しておいて、gnuplotに貼りつけて、その後、経路情報を描画してみよう。ビットマップから緯度、経度情報をグリッド点からとり、換算する必要がある。(Fukushima.jpg)ただしjpegを直接描画するには、gnuplot4.4でないといけないらしい。 http://natsci.kyokyo-u.ac.jp/~takasima/msc/ http://www.ss.scphys.kyoto-u.ac.jp/person/yonezawa/contents/program/gnuplot/enbed_figure.html データのフォーマットはロガーによって違うが、テキストデータを読んでみるとどのように変更すればよいかは解る。 http://natsci.kyokyo-u.ac.jp/~takasima/pukiwikiNew/index.php?News#g0451db1 地図にGPS情報をのせる †前回の経度、緯度情報を地図の参照点(東経140度、北緯37度)を基準にピクセルの数値に変換する。地図データは一番下にあるFukushima.jpg. ./genXYPix2.pl > mygpsPix.dat gnuplot load 'overPlot.gnu' 白地図はあるが参照点がないので使えない。 http://www2m.biglobe.ne.jp/%257EZenTech/japan/map/fukushima.htm 経度緯度情報をとろうと思うと便利なのが「電子国土ポータル」 http://portal.cyberjapan.jp/denshi/index3.html?t=2 タイムリーなニュースを利用して学習する †皆既月食が12月10日にあった。月食を利用して万有引力の法則が導かれたことは、あまり知られていない。 波の現象をアニメーションを使って理解する †光や音は波の現象である。それには微小な領域で力が作用している現象でもある。それについて考えてみよう。また、原子や原子核の世界では、物質も波であるとして、自然界に起こることを説明する。量子力学と呼ばれている。 http://natsci.kyokyo-u.ac.jp/~takasima/pukiwikiNew/index.php?%CE%CC%BB%D2%CE%CF%B3%D8 この小さな世界で起こっていることを、gnuplotでアニメーションを使って示してみる。ただしIPCのcygwinのgccコンパイラーではstdlib.hをインクルードする必要がある。 数値計算にはfortran †パソコンが発達してきて、メモリーの制限からメモリーのデータを作っては消すプログラミングが主流になってきた。それらはcの言語で書かれることが多い。しかし、計算のジョブは順番に行われるので、メモリーを使うなら使うでよいという考え方のプログラムが使われる。代表的なものがフォートラン。メモリのデータは参照やコモンブロックで副プログラムに移される。以下のプログラムはvax fortranでコンパイルしてtop drawerで表示するようにプログラムされているので、変更して使う。chap5/rc_circuit.fはそのまま使える。rlc_runge.fはほんの少しいじると使える。 Javascriptを利用して暗号を勉強する †日常生活ではパスワードやカード番号など重要なデータは暗号化してネットに送り出す必要がある。RSA暗号化法の方式を学んで、安全なデータ通信について考えよう。 この方式ではサーバー側に秘密鍵が保持され、非公開である。ユーザー側(クライアント)は公開鍵を取得し暗号化された情報をネットに送る。ネット側では電波と同じで第3者がデータを捕捉するが、複号するためには秘密鍵が必要である。floorは整数であることを確認するための関数である。 http://deztec.jp/x/05/faireal/faireal-24-index.html#d20524 暗号化は、暗号化される数のa乗とする。aの2進数表示もとめ、その個別数字のnを法とする余りを求めながら、そのかけ算を行ったものの余りを求めるというアルゴリズムで行う。 映像を利用して、科学の発展について研究する †計算機の利用方法についての理解のまとめを行う † |