Gnuplotの使い方

Download Report

Transcript Gnuplotの使い方

08情報科学概論(1):はじめに
田中美栄子 4803室
オフィスアワー:木5限
知識工学講座A研究室
教科書
• 「情報科学概論」講談社サイエンティフィック
• 生協書籍では33冊のみ確保
• アマゾンで買える
出席、単位
• 出席は記名式
• 単位認定基準
• 定期試験×0.4+小テスト2回の和×0.3>=60
情報科学
• 情報科学=コンピュータ科学
• コンピュータに関わるもの全てを包括する
総合科学(殆ど工学だが、数学的考え方を
基本とし、物理学の概念/技術を多用する)
• 1970年頃から発展してきた新しい科学
• InformationというとCIAなどを連想しがち
コンピュータは脳の真似
• 人間が考える代わりにコンピュータに仕事を
させよう、というのが発端
• 人工知能
• しかし、脳とは違う部分がはっきりしてきた
• コンピュータに得意な事をやらせよう
• 何ができて何ができないかを明確化
• 脳の真似をするコンピュータも欲しい
ディジタルコンピュータの概念
• 単純な基本素子の集まりとして作るのは脳の
真似である。基本構造はみな同じ。
• 修復も簡単
• エネルギー消費も最小
• 計算速度が速い
• 高級マンションがコンクリートの塊なのと類似。
壁紙と木の質などで高級感を演出。
ノイマン式コンピュータの概念
• Digital(単純な基本素子の集まりとして作るの
は脳の真似. 基本構造はみな同じ)
• 2進法
• ノイマン・アーキテクチャ(直列逐次処理)
単純な構造だから何でもできる
•
•
•
•
•
•
万能チューリング機械の概念(数学モデル)
AがBを模倣できるならば、AとBは等価
全てのコンピュータは等価
基本素子を組み合わせて作られる回路
基本素子の完全な組:{AND,OR,NOT}
ド・モルガンの法則を使えば{AND,NOT} あ
るいは{OR,NOT}だけでできる。{NAND}、
{NOR}などは、ひとつで完全。
ノイマン式コンピュータ(第1世代~第
4世代) +第5世代=非ノイマン式
•
•
•
•
ハードウエアの違いで4つの世代に分ける
第1世代:真空管を使って増幅回路
第2世代:トランジスタを使って増幅回路
第3世代:LSI(Large Scale Integrated Circuit)
第4世代:VLSI(Very Large Scale Integrated
Circuit)
いわゆるシリコンチップ上の大規模集積回路
第5世代コンピュータプロジェクト
•
•
•
•
通産省の大プロジェクト・・・失敗?
ICOT 1992年に終結。研究成果の総括。
その後もノイマン式が主流
多値回路、閾値回路(パーセプトロン)、など
研究対象としては持続
• パーセプトロンはハードウエアよりも、応用ソ
フトウエアや理論的な発展が主流に
基本素子から作られる回路
• 万能チューリング機械の概念
• AがBを模倣できるならば、AとBは等価。
量子コンピュータ、量子通信
• 集積回路の量子限界、もしくは発熱限界
• これ以上集積すると量子力学を無視できない
小さな領域に入り込み、量子雑音で正しい計
算ができない?
• むしろ量子効果を利用した計算機の考案を
期待
• 盗聴がばれる量子通信で秘密鍵を送る
21世紀は総合科学を目指す
• 情報科学はコンピュータを改良するだけでは
ない (純粋数学の轍を踏まない)
• どのようなコンピュータ(ソフト、ハード)が必
要かは用途次第
• 個別科学の成果と共に発展すべきもの
• それぞれの専門分野から情報科学を立ち上
げ、問題を整理すべき
• 問題①:自分の分野から派生する適当な問
題をひとつ考えよ (私は経済物理学を試行)
人間はパターンを一瞬に認識し、
コンピュータは逐次実行
• 1111を10進数として認識するときは、桁ごと
に0から9までの10種類のどれであるかを認
識しそのうちのひとつであることが確かめら
れないといけない。4桁あれば40回の操作
が必要。一方、11桁の2進数を認識するには、
各桁ごとに0であるかないか、1であるかない
か野判断を1回やるから全部で22回の操作
で済む。すなわち2進法のほうが半分の手間
で済む。
今後の授業の内容
• 情報の表現
– 2進数表現・演算
– 2値の論理・演算
•
•
•
•
•
•
コンピュータの処理と仕組み
アルゴリズム
アルゴリズムとデータ構造
プログラミング(C言語)
符号化と誤り訂正
RSA公開鍵暗号と量子コンピュータ
寄り道(1)
Gnuplotで遊ぶ
Gnuplotを起動する(ダブルクリック)
GNUPLOT
MS-Windows version 3.5
patchlevel 3.50.1.17, 27 Aug 93
last modified Fri Aug 27 05:21:33 GMT 1993
Copyright(C) 1986 - 1993 Thomas Williams, Colin Kelley
Send comments and requests for help to [email protected]
Send bugs, suggestions and mods to [email protected]
Terminal type set to 'windows'
正弦曲線を描く y=sin(x)
gnuplot> plot sin(x)
1
sin(x)
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
-10
-5
0
5
10
一周期分だけにする
gnuplot> set xr [-3.141592 : 3.141592]
gnuplot> rep
ちょっと足りない(端が切れる)
gnuplot> set xr [-3.141593 : 3.141593]
gnuplot> rep
1周期分のsin(x)
1
sin(x)
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
-3
-2
-1
0
1
2
3
倍音を足してみよう(音色をつける)
gnuplot> plot sin(x)+sin(3x)
^
')' expected
• 何が悪かったか?
音で聞けば、音色がついている
• gnuplot> plot sin(x)+sin(3*x)/3
1
sin(x)+sin(3*x)/3
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
-3
-2
-1
0
1
2
3
パルス波を作ってみよう
増やして行くと、、、
gnuplot> plot sin(x)+sin(3*x)/3+sin(5*x)/5
1
sin(x)+sin(3*x)/3+sin(5*x)/5
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
-3
-2
-1
0
1
2
3
gnuplot> plot sin(x)+sin(3*x)/3+sin(5*x)/5+sin(7*x)/7
1
sin(x)+sin(3*x)/3+sin(5*x)/5+sin(7*x)/7
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
-3
-2
-1
0
1
2
3
sin(x)+sin(3*x)/3+sin(5*x)/5+sin(7*x)/7+sin(9*x)/9
1
sin(x)+sin(3*x)/3+sin(5*x)/5+sin(7*x)/7+sin(9*x)/9
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
-3
-2
-1
0
1
2
3
sin(x)+sin(3*x)/3+sin(5*x)/5+sin(7*x)/7+sin(9*x)/9+sin(11*x)/11
1
sin(x)+sin(3*x)/3+sin(5*x)/5+sin(7*x)/7+sin(9*x)/9+sin(11*x)/11
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
-3
-2
-1
0
1
2
3
gnuplot> plot sin(x)+sin(3*x)/3+sin(5*x)/5+sin(7*x)/7
gnuplot> set xr[-10:10]
gnuplot> rep
1
sin(x)+sin(3*x)/3+sin(5*x)/5+sin(7*x)/7
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
-10
-5
0
5
10
1
sin(x)+sin(3*x)/3+sin(5*x)/5+sin(7*x)/7+sin(9*x)/9
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
-10
-5
0
5
10
1
sin(x)+sin(3*x)/3+sin(5*x)/5+sin(7*x)/7+sin(9*x)/9+sin(11*x)/11
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
-10
-5
0
5
10
3角(ノコギリ)波を作ってみよう
偶数倍音も入れる
gnuplot> plot sin(x)+sin(2*x)/2+sin(3*x)/3+sin(4*x)/4
2
sin(x)+sin(2*x)/2+sin(3*x)/3+sin(4*x)/4
1.5
1
0.5
0
-0.5
-1
-1.5
-2
-10
-5
0
5
10
1周期(1波長)だけにすると
2
sin(x)+sin(2*x)/2+sin(3*x)/3+sin(4*x)/4
1.5
1
0.5
0
-0.5
-1
-1.5
-2
-3
-2
-1
0
1
2
3
様々な波(エネルギーの伝搬)
• 海水(波長は0.01~100m)
• 音波(人間の可聴振動数は20Hz~20kHz:
波長は音速v=340m/sを振動数で割って、7mm
~7m) 理由?
• 光波(人間の可視波長は450-740nm)
橙赤(波長: 625-740 nm 周波数: 405-480 THz)
緑(波長: 500-565 nm 周波数: 530-600 THz)
紫青(波長: 450-485 nm 周波数: 620-665 THz)
可視光線以外の光もある(光らない光)
ラジオ波(長波):波長>1km(周波数f<300kHz)
ラジオ波(中波):波長=100k~1km(300kHz~3MHz)
ラジオ波(短波):波長=10~100m(3~30MHz)
VHF(極短波):波長=1~10m(30~300MHz)
UHF(極短波):波長=0.3~1m(300MHz~1GHz)
マイクロ波: 波長=0.03~0.3m(周波数1~10GHz)
ミリ波:波長= 1mm~1cm(周波数30~300GHz)
赤外線:波長=0.7μm~0.1mm(周波数750~30kTHz)
可視光線:波長=400~800nm(周波数375~700THz)
紫外線:波長=10~400nm(周波数750~30kTHz)
X線:波長= 1pm~1nm(原子内電子軌道の遷移で発生)
γ線:波長 < 1pm(原子核内の準位遷移で発生)