オイラー法

今回はオイラー法。例として解いているのは dy/dx = (x^2+x+1)-(2x+1)y+y^2。 某教科書と同じものを使った。 次のサイトが参考になる。・3 オイラー法 ・オイラー法 def euler(x0, xn, y0, n): x = x0 y = y0 h = (xn - x0) / n #刻み幅を求める。今回は0.1…

GNU Octaveのインストール

最近、Octaveというものの存在を知ったのでインストールしてみた。MATLABのフリー版っていう認識でいいのかな。 ・GNU Octave - Wikipedia Windows向けのバイナリだと3.2.4が最新っぽいので解説サイトをいろいろ見つつそいつをインストール。 で、ためしに適…

微分(中心差分)

前進差分に続いて今度は中心差分をやってみた。 import math def central_difference(x, h): return (f(x + h) - f(x - h)) / (2 * h) #前進差分との違いはここ def f(x): return math.sin(x) def output(l, filename): f = open(filename, 'w') for i in l:…

微分(前進差分)

今回は微分をやってみた。計算自体は定義に沿ってやるだけなのでそんなに難しくない。ただ、どのくらい小さい数で割るか結果が違ってきてしまうので本当は注意しないといけない。次のサイトが参考になる。 http://next1.cc.it-hiroshima.ac.jp/MULTIMEDIA/nu…

最小2乗法

ラグランジュ補間、スプライン補間と続いて今度は最小2乗法をやってみた。データからそれっぽい直線や曲線を求めるやつ。次のサイトが参考になる。・http://szksrv.isc.chubu.ac.jp/lms/lms1.html ・http://www.geocities.jp/supermisosan/saisyounizyouhou2…

スプライン補間(3次)

スプライン補間をやってみた。隣り合う2点を3次式で結ぶやつ。詳しくは次のサイトが参考になる。 ・http://next1.cc.it-hiroshima.ac.jp/MULTIMEDIA/numeanal1/node16.html ・http://www.akita-nct.ac.jp/~yamamoto/lecture/2004/5E/interpolation/text/html…

ラグランジュ補間

ラグランジュ補間をやってみた。次のサイトが参考になる。 ・ʪÍý¤Î¤«¤®¤·¤Ã¤Ý¡§·×»»ÊªÍý³Ø¡§Êä´ÖË¡¡§¥é¥°¥é¥ó¥¸¥åÊä´° ・http://next1.cc.it-hiroshima.ac.jp/MULTIMEDIA/numeanal1/node13.html def lagrange(point, x): l = 0.0 for i in range(len(point)…

掃き出し法

線形代数でおなじみ掃き出し法をやってみた。 def hakidashi(matrix, dim): for i in range(dim): num = matrix[i][i] for j in range(dim + 1): matrix[i][j] = matrix[i][j] / num for j in range(dim): if i == j: pass else: a = matrix[j][i] for k in …

台形公式

数値積分の中でも簡単な方法に分類される台形公式をやってみた。区分求積にひと手間加えた感じでいいのかな。図形を細長い台形で分割してそれらの和で近似する。次のサイトが参考になる。誤差についても書かれているので読んでみるといいかもしれない。・dfl…

ベアストウ法

ベアストウ法を勉強したのでPythonで書いてみた。 ベアストウ法を使うと、代数方程式にしか使えないけど複素解も含むすべての解を求めることができる。無理やり2次式で因数分解して積の形で表すって感じになる。詳しくはググってください。コードを書く際、…

Pythonの再帰の深さについてあれこれ

この前、コードを書いていたら次のエラーが出た。 RuntimeError: maximum recursion depth exceededどうやら再帰の回数の限界を超えてしまったようだ。で、調べてみるとこれらが引っかかった。・http://hep.planet-koo.com/index.php?g=tech&sid=py_reclimit…

2変数のニュートン法

今度は2変数についてのニュートン法をやってみた。今度は2変数のテイラー展開を利用する。詳しくはググってください。 今回用いた式は某教科書に例として載っていたものをそのまま利用した。 import math import sys chk = 0.00000001 #誤差の範囲 count = 0…

ニュートン法

Pythonでニュートン法をやってみた。ニュートン法って何?って方はググってください。 def newton(x, num): #nextx = (2 * (x*x*x) + x*x - 3) / (3 * (x*x) + 2*x - 5) #x - (g / dg)をまとめた場合 g = f(x) dg = df(x) nextx = x - (g / dg) num.append(n…

メンガーのスポンジ

はい。blenderとpythonでメンガーのスポンジを作るよ。メンガーのスポンジって何?って人はWikipedaでも見るといいかもしれない。・メンガーのスポンジ - Wikipedia コードはこちら import bpy check = [1,1,1, 1,0,1, 1,1,1, 1,0,1, 0,0,0, 1,0,1, 1,1,1, 1…

PythonでBlender―オブジェクトをいじる

Pythonでオブジェクトの大きさや位置をいじる方法を知ったのでメモ。今回は例として次の操作を行った。 >>>ob = bpy.context.object >>>ob.scale = (2,6,5) >>>bpy.ops.object.scale_apply() 1行目の操作を行ったあとの画像がこちら↓ 選択(というか、フォー…

Pythonでスリープソートっぽいことをやる。

最近スリープソートが話題になってたのでPythonでやってみる import time import threading num = [9,4,1,6,0,30,2,5,7,8,20,14] #今回はこいつをソートする。別にグローバル変数である必要はない。 def sleep_sort(i, result): result.append(i) print resu…

PILで延々とスクリーンキャプチャ

import ImageGrab import time import os import shutil import datetime def capture(): img = ImageGrab.grab() dt = datetime.datetime.now() img.save(dt.strftime('%Y%m%d_%H-%M-%S') + '.png') def folder(): print (os.getcwd()) if os.path.isdir(os…

インストール済みのモジュールをテキストファイルに出力してみる

インストールしたモジュールの一覧を見てみたかったので書いてみた。 #-*- coding: utf-8 -*- import sys def main(): f = open('modules.txt','w') #ファイルオープン sys.stdout = f #標準出力をmodules.txtに変更 help('modules') #インストール済みのモ…

SL4Aをインストール

AndroidでPythonができるというので、やってみた。 ・SL4A による Android プログラミング ・http://mp.unoji.com/docs/sl4a/tutorial/tutorial.html ・Google Code Archive - Long-term storage for Google Code Project Hosting. この辺のサイトの解説を見…

超簡易聴力検査っぽいことをしてみる

import winsound import sys def sound(x): winsound.Beep(x, 500) #500ミリ秒鳴らす def main(): try: hz = int(raw_input('Hz?(37~32767): ')) #37から32767までの整数値を入力 except SyntaxError: #入力時に何も入力せずにEnterを押した場合 print ('Err…

Pythonでビープ音を鳴らす(Windowsのみ)

>>> import winsound >>> winsound.Beep(10000,500) これで10000Hzの音が500ミリ秒鳴る。 >>> winsound.Beep(周波数,秒数(ミリ秒))周波数の範囲は37〜32767。超簡易聴力検査とかできそう。 http://www.python.jp/doc/2.6/library/winsound.html

Blender2.5 Python コードサンプル集

BlenderではPythonを用いて色々なことができる。 結構前からBlender 2.5用 Python cookbook が公開されている。 ・http://blender.jp/modules/news/article.php?storyid=3032 ただし、↑このリンク先からダウンロードできるドキュメントはBlender2.54以降だと…

youtubeの字幕のxmlをsrtに変換するスクリプト

前回の記事でyoutubeの字幕をダウンロードするスクリプトを載せたけど、どうやらxmlでは何かと不便らしい。srt形式にすると幸せになるらしい。次のサイトを参考にした。・srtsrtの中身は、例えばこんな感じ 1 00:00:00,000 --> 00:00:03,000 はろー。 2 00:0…

youtubeの字幕をダウンロードするスクリプト

youtubeを観てて、字幕ファイルもローカルに保存しておきたいなっとふと思ったので調べてみると・・・・..::Exitarium::..:YouTubeのキャプションをダウンロードする方法 - livedoor Blog(ブログ)こんな感じの丁寧な記事を見つけたので参考にして次のよう…

Firefox4の終了時にタブを保存する

Firefox4に更新したら終了時にタブを保存するかどうかを聞かれなくなってしまった。これはどうしたものか、としばらくググっているとこんな記事を見つけた。 せみのぬけがら(Mac、iPhone関係の備忘録) Firefox 4.0で終了時のタブ保存ダイアログを表示させ…

PILでスクリーンキャプチャ

PILで何か遊んでみよう、ということでスクリーンキャプチャをしてみる。 >>> import ImageGrab >>> im = ImageGrab.grab() >>> im.save('capture.png') これだけでカレントディレクトリに capture.png という名のキャプチャされた画像ファイルが生成される。…

はじめ

なんとなく開いてみました。かなり不定期に更新します。今PIL(Python Imaging Library)で遊んでるのでそれについてちょろちょろと書いていこうかと。