MatlabでWebコンテンツを読み込む
Matlabでウェブページを読み込んで情報を自動抽出できたりしたら楽しそう!、ということで少しずつやってみます。
ウェブページのソースを読み込むのはめちゃくちゃ簡単で、webreadという関数で1行でできます。ためしに東京都の公式ページを読みこんでみます。
data = webread('http://www.metro.tokyo.jp/index.htm')
こんなふうに、ずらずらっとソースが表示されればオーケーです。
HTMLタグが邪魔だというときには、正規表現を使うと、タグを消して本文だけを取り出すことができます (ここのコードを拝借しました)。
pat = '<[^>]*>'; data2 = regexprep(data, pat, '')
そうすると、ウェブページの本文がこんなふうに表示されます。ニュースサイトなどであれば、ここから頻出単語を抜き出して記事を特徴づける、というようなこともすぐに出来そうです。次回からもうちょっと遊んでみます。
Matlab Home
Arduinoでフィジカルコンピューティング
Arduinoは、電子工作を遊んで学ぶにはぴったりの装置です。Wikipedia によると
Arduino(アルドゥイーノ[1])は、AVRマイコン、入出力ポートを備えた基板、C++風のArduino言語とそれの統合開発環境から構成されるシステム。
ということなのですが、実際に手にとって使ってみないと、どういうものかピンとこないかもしれません。3,000~5,000円ぐらいなので、興味があればひとまず買ってから考えるというのもアリかも。
- 出版社/メーカー: スイッチサイエンス
- メディア: Personal Computers
- 購入: 2人 クリック: 15回
- この商品を含むブログを見る
おおまかな流れとしては、PCでコードを書いて、USBで接続したArduino本体にコードを書き込みます。コードを書き込んだ後はPCに接続しておく必要はなく、ACアダプタや乾電池で動作させることもできます。Arduinoの基盤にはあれこれ入出力ポート (ピン) があって、これの動作を書き込んだコードで制御するわけです。ピンの電圧 (HIGH/LOW) を変えていろんな装置を駆動したり、逆に、各種センサーからの入力をピンにかかっている電圧として読み取ることができます。実際に使ってみると、(単純な回路なら) 驚くほど簡単に、そして楽しく実装できます。
Arduinoには互換機がたくさんあり、たとえばLilyPad Arduinoは導電糸(!)で服などに縫い付けてウェアラブルな仕掛けを作れます。この、自転車用の方向指示器つきのパーカーとか製品化されたら間違いなく買います…。
leah buechley - LilyPad Arduino - build - turn signal jacket
Web上で電子工作を学ぶAutodesk Electronics Lab
電子工作を学びたい/学ばせたい、でもお金をかけたくない、手軽で安全に学びたい。そんなときにはAutodesk Circuits Electronics Labが良いかもしれません。
The easiest way to learn electronics and Arduino programming | Autodesk Circuits
ブラウザ上で、ブレッドボード・電源・LED・抵抗・コンデンサ、そのほか様々な部品を配置して、動作をシミュレーションすることができます。それと、Arduinoというマイコンも使えて、自分が書いたコードでうまく回路を制御できるかを試せます。しかも無料。すごい。
上のYoutube動画では、実世界の電気回路を正確にシミュレーションしますと言っているけれど、LEDに電流を流しすぎて焦げる (最近実際にやってしまったのです…)、というのはさすがにシミュレーションしてくれませんでした。
無料・インストール不要でいろんなプログラミング言語を試せるWebサービス
プログラミング言語はたくさんあります。どれかを学ぶにしても一体どれが良いだろうと迷いがち。インストールしてみて、「この言語とっつきにくい、アンインストールしよう」というのを繰り返すのは避けたい。そんなときに役に立つかもしれないのが無料・インストール不要でいろんな言語を試せるWebサービス。
repl.it
すごい数の言語に対応しています。アカウントを作らなくても、使いたい言語を選んでクリックするだけですぐに使える。キーボードショートカット (Ctrl + Enterで実行とか) まであって使い勝手もすばらしい。ただし、Pythonについてはライブラリに対応していないようでimport numpyでエラーがでます。
対応言語一覧
QBasic, Forth, LOLCODE, BrainF, Emoticon, Bloop, Unlambda, JavaScript, JavaScript (Web), ES2015, CoffeeScript, Kaffeine, Move, Scheme, APL, Lua, Python, Ruby, Roy, PHP, Python3, Nodejs, Go, Java, C++, C++11, C, C#, F#, HTML, CSS, JS, Rust, Swift
Python導入
プログラミング言語。仕事ではMatlabを使っていますが、高価なので使っているPCすべてに入れるというわけにはいきません。無料で手軽そうな言語、ということでPythonを勉強してみることに。
Anacondaをダウンロード (そこそこ時間がかかった) してインストールすると、良くつかうライブラリやSpyderという開発環境も一緒についてきて便利です。
www.continuum.io
大事なのは、Anacondaをインストールする場合は本家のPythonは入れる必要はないということ (Anacondaに含まれている)。自分はこれに気付かず2回インストール作業をしていた…。
www.python.org
Spyderの見た目はこんな感じ。軽快に動いてよい感じです。
はてなブログは「はてな記法」を使うと、ソースコードを色づけして表示できて便利です。勉強の過程を書いていきたいと思います。
def hello(): print("Hello World") hello()
プログラミング超初心者が初心者になるためのPython入門(1) セットアップ・文字列・数値編
- 作者: たっく,ちょっぷ
- 発売日: 2015/01/19
- メディア: Kindle版
- この商品を含むブログを見る
開設
「もっと科学を身近に」感じられる小ネタを書いていきます。