サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
パリ五輪
hooktail.org
Modified by 物理のかぎプロジェクト PukiWiki 1.4.5_1 Copyright © 2001-2005 PukiWiki Developers Team. License is GPL. Based on "PukiWiki" 1.3 by yu-jiPowered by PHP 5.3.29HTML convert time to 0.008 sec.
TEXINPUTSという環境変数は,tex, cls, sty, bib などのファイルを検索するパスです.自分で用意したスタイルファイル(*.sty)などを任意のディレクトリに置きたい場合,そのディレクトリパスをTEXINPUTSに加えることで,TeX実行時に読みに行ってくれます. TEXINPUTSの設定方法 UNIX系の場合 † いつもの環境変数設定方法と同じです. .bash_profile などに export TEXINPUTS=~/mytex/ などと記述します. ↑ W32TeXの場合 † W32TeXで環境変数TEXINPUTSを設定する場合,普通の環境変数と異なります.パスの先頭に「.;」を,終わりに「/;」を加える必要があります.たとえば C:/xxx/xxx/mytex/ というフォルダをTEXINPUTSに加えたければ, TEXINPUTS = .;C:/xxx/
全ての物質は粒子であり,波である.なんだそりゃ,粒子なのか波なのかどっちなのか.その答えは「どっちかはっきりいえないけど,どっちか.てゆうか両方」だと.いよいよわけが分かりません.そんなことでいいんですか? 物理ってそんなもんなんスか? … (続きは 量子力学のだいいっぽ へ) なんとも不思議な世界 † 量子力学のだいいっぽ(崎間著) 説明できない現象(崎間著) 空洞放射(崎間著) つぶれる世界 ↑
固体物理とは金属,半導体,誘電体,磁性体など,物質の性質を扱う物理です.力学,量子力学,電磁気学,統計力学など多くの知識が必要でむつかしい分野ですが,コンピュータ素子など,最先端の技術を支える重要な分野です. 結晶学 † 結晶学とは(崎間著) 単位格子 回転対称(崎間著) 反転対称 回反対称操作 ミラー指数(面)(崎間著) ミラー指数(方向)(崎間著) 実格子と逆格子の対応(クロメル著) ↑
波 † 波の大事な性質(崎間・山本著) 波の式1(tomo著) 波の式2(tomo著) 行路と光路(tomo著) 反射の法則(tomo著) 屈折の法則(tomo著) いろいろな干渉1(tomo著) いろいろな干渉2(tomo著) ヤングの干渉実験1(tomo著)<ショートカット:量子力学> ヤングの干渉実験2(tomo著)<ショートカット:量子力学> 縦波と横波(tomo著) ドップラー効果1(tomo著) ドップラー効果2(tomo著) ドップラー効果3 (pulsar著) うなり(CO著) ↑
人間は何のために生き,どこから来てどこへ行くのか.なんて高尚なこと,とても僕などには語れません.しかし物理学はそれを語ってくれる可能性があります.世界とは何だろう,僕たちの周りを包んでいるものはなんだろう.世の中は何からできているのか,時間とはなんなのか,世界に果てはあるのか,終わりはあるのか,もしも世界が終わったなら,僕たちの生きた証はどこに残るのか… (続きは 物理学のだいいっぽ へ) 物理学への入り口 † 物理学のだいいっぽ(崎間著) 物理へのおもい(崎間著) ようこそ,高校生のみなさん!!(やかん著) 勉強法レポート(クロメル著) 私が高校生の時に知っておきたかったこと(クロメル著) ↑
数列・行列 † 無限等比級数の和(崎間著) 正方行列の基本性質 (崎間著) 行列式 (崎間著) 行列の階数を区別するものは何か?(クロメル著) 正方行列の三連続積の展開(クロメル著) 行列の積の表現方法(クロメル著) 逆行列のよく使う性質(クロメル著) グリーン関数と逆行列(クロメル著) 三重対角行列の特性多項式(クロメル著) 点と面の距離(非正方行列の逆行列についての一つの提案)(クロメル著) 任意の固有値と固有ベクトルを持つ行列の求め方(クロメル著) ジョルダン細胞のn乗(クロメル著) ジョルダン標準形の指数関数の応用(クロメル著) ↑
以上がリニアPCMに限定したwaveファイルのヘッダ部分ですが, dataチャンクの前にfactチャンクや,fmtチャンクの拡張部分が入る場合があります.これらはあっても無くても関係ないようなのですが,存在する場合読み取る時に考慮していないとリニアPCMなのに読み取れないということになります. factチャンクや拡張部分が存在しても読み取れるようにしてみます.ヘッダの部分が一定になりませんのでソースが汚くなってしまいましたが,とりあえず,ソースコードを載せておきます. ↑ ソースコード † /*----------------------wave.h----------------------*/ typedef struct{ signed short l; signed short r; }Soundsample16; typedef struct{ unsigned char l;
フーリエ変換 † 相関関数(黒子著) 直交関数系(黒子著) フーリエ変換の第一歩(黒子著) フーリエ級数(黒子著) フーリエ変換の実例(クロメル著) 相関関数と畳み込み積分のフーリエ変換(クロメル著) フーリエ変換の三連続積と畳み込み積分の拡張(クロメル著) ∫e^(-ikx)/(x-c)dxの計算(クロメル著)→物理数学 行列の指数関数のラプラス変換(クロメル著) 斜交座標での2次元フーリエ変換(クロメル著) 一般化されたエルミート多項式(クロメル著) ↑
Illustratorで数字や数式を含む画像をつくるとき, TeXのフォントを使うとずいぶんアカデミックになります.この記事では,その方法を説明します. TeXフォントをAdobe製品で使えるようにする † 通常,WindowsにTeXをインストールすると, C:\tex\share\texmf(もしくはC:\usr\local\share\texmf)以下に各種ファイルがあります. TeXで使われるType1フォントは, C:\tex\share\texmf\fonts\type1 というフォルダに収められています.このフォルダごと C:\Program Files\Common Files\Adobe\Fonts\Reqrd\Base にコピーまたはショートカットを作成すれば, Adobe製品でTeXのフォントを使うことができます.この設定をした後,Illustratorを起動すると,
力学は物理の最も基本的な要素を多く含んでいます.高校でも大学でも一番最初に力学を習うように,物理の入口と言えます.とはいうものの,僕は力学というのが苦手でした.物理のはじめに習う力学が苦手だったんですから… (続きは 力学のだいいっぽ へ) 世界と基本法則 † 力学のだいいっぽ(崎間著) 身の周りのものの運動(崎間著) 動きをイメージする(崎間著) 基本法則とはなんだろう(崎間著) ↑
外積代数 † 外積代数(Joh著) ウェッジ積について補足(Joh著) p-ベクトルの内積(Joh著) ウェッジ積の座標変換(Joh著) ホッジ作用素(Joh著) 軸ベクトルと擬スカラーの秘密(Joh著) イデアルによる類別(Joh著) イデアルで外積代数を入れる1(Joh著) イデアルで外積代数を入れる2(Joh著) イデアルで外積代数を入れる3(Joh著) ホッジ作用素を使った公式補足 (Joh著) ↑ ユークリッド空間とミンコフスキー空間上の微分形式 † 微分形式(Joh著) 面積素と微分形式(Joh著) 線素と体積素と微分形式(Joh著) 微小量の積(Joh著) 外微分(Joh著) 微分形式の熱力学への応用(Joh著) もう一度grad, div, rot(Joh著) ポアンカレの補題(Joh著) 外微分の座標不変性(Joh著) 微分形式の張る空間と座標変換(Joh著) 平面のグリ
ベクトル代数1 † もう一度ベクトル1(やっさん著) もう一度ベクトル2(ベクトルの読み書きそろばん)(やっさん著) もう一度ベクトル3(幾何と代数の通訳)(やっさん著) ベクトル方程式(やっさん著) ベクトルの回転(Joh著) 続・ベクトルの回転(クロメル著) 続々・ベクトルの回転(クロメル著) 続々々・ベクトルの回転(クロメル著) 続×4ベクトルの回転(クロメル著) 四次元空間中のベクトルの回転(クロメル著) ベクトルの基底の変換(クロメル著) 軸性ベクトルと極性ベクトル(Joh著) 三重積(Joh著) ベクトルの割り算(Joh著) 球面三角形の角度(Joh著) 七次元の外積(Joh著) ガウスの定理は本当に常に成り立っているの?(クロメル著) ↑ ベクトル代数2 † ベクトルことはじめ(Joh著) 基底の座標変換(Joh著) 共変ベクトルと反変ベクトル(Joh著) 双対基底(Joh著
群論入門 † 群の公理(Joh著) 群について基本的なこと(Joh著) 対称群(Joh著) 置換の計算 (Joh著) 運動群 (Joh著) 有限回転群(Joh著) 有限巡回群(Joh著) 無限巡回群(Joh著) 組みひも群 (Joh・丹下著) クラインの四元群(Joh著) 対称式・交代式と群(Joh著) 正六面体群(Joh著) 正多面体群1(Joh著) 正多面体群2(Joh著) 部分群(Joh著) 集合の元同士を足す・掛ける(Joh著) 類別(Joh著) 整数の加法群の剰余類(Joh著) 剰余類(Joh著) 剰余類2(Joh著) 完全代表系と商集合(Joh著) 整数の剰余類のつくる加群(Joh著) 整数の剰余類の作る乗群(Joh著) ラグランジェの定理(Joh著) 群の位数と元の位数(Joh著) 正多面体群3(Joh著) フェルマーの小定理(Joh著) シローの定理(Joh著) 群が集合の
いろいろなパラメータがありますが,要は読み取り部分で"BM"と24ビットの確認をすれば,横幅と縦幅を読み取りRGB情報を抽出すればいいだけです.具体的には24bitに限ればヘッダ部分は54バイトなので最初に freadで取ってきます.その中から先頭の"BM"とオフセット(28)の24bitを確認し,オフセット(18)とオフセット(22) から画像の幅と高さをとれば,後はRGB情報を取ってくるだけです.データは高さ×幅×3バイトのRGB情報なのですが,実際には1行が4バイトの倍数になる必要があるため,注意が必要です.書き込み部分ではヘッダ部分天下り的に書き込んでRGB情報を書き込んでいくだけです. RGB情報については画像の左下から始まります.少々奇妙な感じはしますが,左下から右へ,下から上へ読み書きすれば良いだけです. ↑ ソースコード † /*----------------------
キー表記の約束 † Emacsの操作で, C-x と書いた場合,[Ctrl]キーを押しながら[x]キーを押す,という意味です.大文字の C がCtrlを表しています. C-x f と書いた場合,[Ctrl]キーを押しながら[x]キーを押してから[f]キーを押す,という意味です.さらに, C-x C-f と書いた場合,[Ctrl]キーを押しながら[x]キーを押してから[Ctrl]キーを押しながら[f]キーを押す([Ctrl]キーを押しながら[x]キー,[f]キーを押す),という意味です. また, M-x と書いてある場合,[Alt]キーを押しながら[x]キーを押します. ↑
WebサイトをFTPで更新するとき,更新するファイルが一つか二つくらいならいいのですが,これが多くなるとちょっと大変です.更新し忘れたり,間違って古いファイルを上書きしてしまい,これまでの苦労が水の泡に…なんて経験はないでしょうか.それを防ぐためには,ミラーリングアップロードできるソフトウェアを使うのが一番です. 多機能なCUIのFTPクライアント「lftp」は,ミラーリングダウンロード,アップロードの機能を備えています.lftp単体でも十分に便利なのですが,シェルスクリプトに組み込めばさらに便利です.この記事では,lftpを核にして,第1引数で指定したディレクトリをミラーリングアップロードするスクリプトをつくってみます. lftpの基本 † ↑ 一通りの完成 † 最終的に,つぎのようになります. #!/bin/sh test -z "$1" && echo "USEGE: lftpdir
というように,対称行列を変換し,対角成分とその両隣の副対角成分以外を全てゼロにする 変換です.固有値を求めるときに,三重対角化を経由して対角化する方が一般的に高速になります. イメージ的にも行列の成分でゼロが増えれば計算しなくてはならない量が減りそうです. 具体的には変換したい対称行列に何らかの行列を掛けて三重対角化する事になりますが, どんな行列でも良いという訳ではなく,直交型の行列で,しかも右と左の両側から 掛けていかなければなりません.そうしないと変換後の行列の固有値が変わってしまいます. つまり,式で書くと次のようにしなければなりません.Pは直交行列です. 例えば上の行列であれば,1行目と1列目を見てみると,行ベクトル,列ベクトル共に a,b,c,dというベクトルがk,l,0,0に変換されていると言えます. もっというと,aという要素をそのまま置いておき(k=a), b,c,dとい
1次元フーリエ変換の応用 † 2次元フーリエ変換は文字どおり2次元のものについてフーリエ変換を行うものです.例えば音声などのデータは1次元ですが,画像などは縦と横の2次元ですので,画像にフーリエ変換を適用するためには2次元フーリエ変換を使う必要があります. といっても2次元フーリエ変換の実装はそんなに難しくなく,1次元フーリエ変換が完成していればそれを利用して簡単に作る事ができます. となります.これは2次元のものをx軸方向に各行フーリエ変換し,その結果に対してy軸方向に各行フーリエ変換すればよいということです. for(i=0; i<height; i++){ for(j=0; j<width; j++){ temp_re[j] = re[i*width + j]; temp_im[j] = im[i*width + j]; } dft_idft(temp_re, temp_im, wi
時間軸から周波数軸へ † フーリエ変換を使えば関数を時間軸から周波数軸に変換することができます.こんなことをして何が嬉しいかというと,時間によっていろんな物が変化しますが,周波数軸の方が扱いやすい場合が多く存在するためです.画像や音声など用途は様々です.また,フーリエ変換は可逆変化であるため,周波数軸で処理をし,時間軸に戻すという事ができるため大変重宝します. 具体的にフーリエ変換が何をしているかというと,全ての関数を正弦波の組合せだけで表そうとしています.角周波数と時間を掛ければ角度がでますので,いろいろな角周波数の正弦波を足したり引いたりしてそれぞれの角周波数の正弦波の重みを考えます.こんなとんでもない事を考えた人は凄いとしか言いようがないですが,使うだけならばそんなに難しくありません.公式に当てはめるだけです. まず,フーリエ変換を適用するためには周期関数でなければなりません.つまり
となります. ところでこの変換後のベクトルx'ですが,要素は何でも良いわけではなく, 変換前のxと大きさが同じでなくては困ります.そのためx'の第一要素は |x|となり,残りがゼロなのですが,符号は融通がききます. というのも,2次元以上ですので第一成分の符号が正だろうが負だろうが ベクトルvを調節すれば条件を満たす超平面が存在できるからです. そのため毎回正でも負でも数学的には問題ないのですが, PCで実装するとなると丸め誤差というものが発生するため ゼロに近い値というのは演算を進めて行くと正確さに欠けてしまいます. ベクトルvを求めるときにxとx'で引き算を行いますので, 第一成分の絶対値がゼロから離れるようにxとx'の第一成分は符号が異なる方が望ましいという訳です. ここでベクトルx,x'を
ここで上の行列の真ん中で左右に分けて考えると,添字が偶数の行については左と右の部分が同じで,添字が奇数の行については左と右の部分が半周期ずれたものになっているのがわかります.そのため上の式は以下と等価です. 図1 図1を見てもわかる通りxの並びが変わっています.このように並び替えることで計算がしやすくなります.それではソースコードを見てみます. dfttimes = num; power = power_two(num); //2の何乗かを返す for(i=0; i<power-1; i++){ indexto = offset = 0; while(indexto < num){ indexfrom = 0; while(indexfrom < dfttimes){ rbuf[indexto] = re[indexfrom + offset]; ibuf[indexto] = im[in
著者:崎間 Cに限ったことではないのですが,プログラムを実行するときにどれくらい時間がかかるのか知りたいことはよくあります. Linuxにはtimeというコマンドがあり,それを使うと実行にかかった時間を知ることができます. fooという実行ファイルがあるなら, $ time ./foo とすれば,fooが実行され,それにかかった時間がわかります.プログラム本来の出力の後に,例えば real 0m0.103s user 0m0.010s sys 0m0.000s というような出力が追加されます.ここで real: プログラムの実行にかかった時間 user: プログラムの実行中,ユーザモードだった時間 sys: プログラムの実行中,カーネルモードだった時間 です.ユーザモードというのは加算や減算,メモリへのアクセスなどです.カーネルモードとはシステムコールを実行したときのモードです.システムコ
イメージしやすいカラー情報 † これまで色をRGBそれぞれ256通りずつで表現してきました.これはディスプレイに表示する場合もこのようにRGBそれぞれの大きさに合わせて発光させているようなので,PCにとっては大変明確な表現なのですが,人間からしてみると理解しづらい表現となっています. 考えてみると日常生活では色を表現するときに「薄い緑」とか「明るめの黄色」というようになると思います.それが急に光の三原色で表現するようになるから理解しづらいのです.ということで理解しづらいRGBの表現を日常で表現しているやりかたにそっくりなHSV表現に変換してみたいと思います.こうすることで今までと変わった加工ができるようになります. これはGIMPで色をHSV表現で選択するときの画面です.周りの円の部分は色相環と呼ばれるもので,普段「濃い赤」「薄い黄色」のように使っている「赤」や「黄色」の部分を表しています
KL展開とは † Karhunen-Loeve展開の略でベクトルの分布を最も良く近似する部分空間を求める方法です. 例えば5つの要素を持つベクトルがいくつかある場合に,出来るだけ元のデータを失わないように 3つや4つの要素のベクトルで表そうといった手法です.圧縮やパターン認識の分野で用いられたりしています. 要するに元のデータの特徴を残し,あまり特徴と関係ないであろう部分を消してしまおうという処理です. 具体的には,画像であれば100×100ピクセルのグレースケールの画像であれば, 10000個のデータを持っていますが,これは10000次元の1点で表すことができます. 実際には10000次元で表すとベクトルは1個になってしまいKL展開をすることができないので, 10×10のブロックに分けて100次元のベクトルが100個ある,などと考えて処理します. そして次元を例えば70次元などに落とす事
2次元フーリエ変換を使う † 縦でも横でもいいのですが,画像の1行もしくは1列を時間で変化する波と考えると画像に対しフーリエ変換をすることができそうです.画像の縦もしくは横がnピクセルであれば,その行や列は の関数の離散値であると考えられそうです.とすれば画像のRGBデータに対し 2次元フーリエ変換を掛けてやることで周波数データにすることができます.フーリエ変換については 1次元フーリエ変換 , 2次元フーリエ変換 を参照してください. 周波数データにしてなにが嬉しいかというと,この変換をすることで 2次元配列は次のような意味を持ちます. 左上が配列の(0,0)右下を配列の(n,n)と考えてください.ざっくりと考えて上の画像で示す中央程,低周波がどれほどの重みを持っているのか,外側程,高周波がどれほどの重みを持っているのかという事になります.そのことを利用すれば様々な事ができるのですが,加
画像をホームページなどに貼り付ける際,ページ背景の色と画像背景の色をなじませたいことがあります.ここでは,ViX というフリーソフトを使いpng画像の背景色を透過処理する方法を紹介します. 著者:崎間 透過でないpng画像の例 † つぎの例の場合,画像の背景色は白色で,ページの背景色は薄い茶色です.もしこの画像の白い背景を表示させたくない場合は,画像背景を透過にすれば良いです. 方法 † フリーソフトウェア ViX を使って背景色を透過にする方法が簡単です.まずは,ViXをダウンロードして使える状態にしておいてください. Vixで背景色を透過にしたい画像を開き,色数を256色に減らします(これは,Windows標準のブラウザであるInternetExplorerが24ビットpngの透過に対応していないためです).[編集]メニュー → [減色] → [256色]を選びます.
高速な対称行列の対角化 † 実対称行列をJacobi法よりも高速に対角化し,固有値を求めることができる方法です. Jacobi法は非対角成分を一つ選び,その成分をゼロにするような直交行列を掛ける事で, もぐら叩きのような方法を取るため,どこかをゼロにしてもまたどこかがゼロでなくなり, あまり効率がよくありません.その点,QR法は事前に三重対角化することで, 三重対角化された状態を保ったまま副対角成分をゼロにする方法を取ります. また,右下2×2の小行列の固有値を対角成分から先に引いてから変換するため, 対角化への収束が早くなります. ↑
Modified by 物理のかぎプロジェクト PukiWiki 1.4.5_1 Copyright © 2001-2005 PukiWiki Developers Team. License is GPL. Based on "PukiWiki" 1.3 by yu-jiPowered by PHP 5.3.29HTML convert time to 0.013 sec.
次のページ
このページを最初にブックマークしてみませんか?
『hooktail.org』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く