2009年2月9日月曜日

二次方程式の虚数解を見る―メモ

Octave C++について
今回使ったのは複素数のみ。
定義:Complex x = Complex  (double xr,double xi);
y=x^2+1:Complex y = x + Complex(1,0);
yの実部:yr = real(y);
yの虚部:yi = imag(y);

C++について
・deta_0.dat,deta_1.dat,deta_2.dat,...のように通し番号付きファイルをたくさん作る
(今回は一つのdeta.datにどんどん上書きした)
===========================
 //include...string,sstream,fstream,等
 //繰り返しiを増やしてく

  stringstream filename;

  filename.str(""); 
  filename << "deta_" << i << ".dat";
  string filena = filename.str();
  const char* file = filena.c_str();

  ofstream deta;
  deta.open(file);

   deta << ***** ;

  deta.close();
===========================

・gnuplotでdeta_*.datからgraph_*.gifをたくさん作る(gifアニメ用)
===========================
 //繰り返しiを増やしてく

//とりあえずすることをtmp.pltに書き出す
  ofstream gp;
  gp.open("tmp.plt");

  gp  << "set parametric \n" //グラフを媒介変数で設定
      << "set view 80,285 \n" //見る角度(事前にgnuplotでぐりぐり)
      << "set hidden3d \n"  //透けない
      << "set xrange[-8:8] \n"//x,y,zの描画域
      << "set yrange[-8:8] \n"
      << "set zrange[-8:8] \n"
      << "set output 'graph_" << i << ".gif' \n"
      << "set terminal gif \n"  //gifでよろしく
      << "splot 'deta_" << i << ".dat' \n"
      << "set terminal x11 \n" << endl;
  gp.close();

//tmp.pltを実行
  FILE* plot;
  plot = popen("gnuplot tmp.plt","w");
  pclose(plot);
===========================

にとても助けられました。
===========================

実際に作った時は、初めから自動でできるだろうとは思いながら手作業でgif出力&renameしてました・・・(100近く!)
40ほどのファイルが一度に出力されたときには鼻血が出るかと思うほど嬉しかった。

二次方程式の虚数解を見る―結果


 高校でx^2+1=0という方程式が±iという解を持つと知ったとき、何故解があるのにy=x^2+1がy=0と交わっていないのか疑問でした。(今思えば当たり前だけど!)

画像はgifアニメなのでクリックして下さい。FireFoxだとスムーズなんですが、Chromeだと異常にぎこちないです。

奥に向かっているのがxの実数軸、時間がxの虚数軸で手前がyの実数軸、上がyの虚数軸です。青い平面がx,yの実数平面で、ちょうどグラフが重なる時がxの虚数項が0の時です。二回y=0を横切りますが、このときが(私が見たくてしょうがなかった)x=±i でx^2+1=0が解を持つ瞬間です。

使用したのはc++,octave c++,gnuplot,gifアニメ作成にはGiamを使わせていただきました。



xの実数軸と虚数軸を入れ替えたもの。x^2+1=0がxの実数項が0の時、x=±iを解にもっていることがよくわかります。

2009年2月8日日曜日

勝手に右クリック

レポートを作成していたら、勝手に右クリックが押されるという現象が起こった。まさかいたずらウイルスか・・・!と思ったが、マウスのUSB端子やボタンをぐりぐりいじっていたら直った。理由はわからない。

Googleの画像検索とシークレットウィンドウ

Googleで画像を検索したとき、サムネイル表示されている画像から元の画像を開こうとすると、開けないことがある。しかし、chromeの場合シークレットウィンドウで開くと、なぜかほぼ開ける。

2009年1月31日土曜日

GL(n,C)等の表記

TeXを使用しているとき、n次複素正則行列の意であるGL(n,C)のGLを\mathrmで立てるべきか否か迷った。調べてみると、小田忠雄という方の 「数学の常識・非常識—由緒正しいTeX入力法」という文書を見つけたので、コピーして今後手元に置いて参考にしたい。

これによると、GLはそのまま寝かせてもよいそうだ。(ちょっと気持ち悪いが)でも、Cはボールドにして立てる。個人的には黒板太文字にしたいが、これは手書きの工夫だからPCでやる意味は無いんだろう。

参考URL

2009年1月23日金曜日

キーボード

ビックカメラ新宿西口店にあった。
USB2.0 dockがウリのようだが、個人的にはそれ以上にスペースキー―変換キーの配置が親指シフト向きだったのと、打鍵感がよかった。(あとポイントが意外とたまっていた)

普通にノートパソコンを使っていたが、この時期は特にレポートを書くことが多いのでやはりこのほうが楽。(家に書見台かあったのでそれで本体を立てる。)いずれデスクトップを使うことになるだろうから、持って損はないだろう。

音が以外と大きいかったが、このタイプのキーボードはみなそうだろうか。

追記(1/26)
打鍵感がシャカシャカッという感じなので、これに慣れると、公共機関などで使われている一般的なキーボードがふにゃふにゃに感じる。シャカシャカ感に快感を覚えてくるとこれでも少しふにゃっと感じるから恐ろしい。

Matias Matias USB2.0 Keyboard for PC
USB対応日本語キーボード
商品スペック
接続USB言語日本語
テンキーパームレスト×
ワイヤレス×
TSUKUMO 商品詳細バッジ で 2009-01-23 に生成しました


BiBTeX

行数×文字数

奥村晴彦大先生(面識はないですが個人的にそう呼んでいます)のjsarticleで

%40*30
\setlength{\textheight}{42\baselineskip}
\setlength{\textwidth}{40zw}
\setlength{\voffset}{-0.3in}
\renewcommand{\baselinestretch}{1.4}
\setlength{\hoffset}{0.5in}

%40*40
\setlength{\textheight}{40\baselineskip}
\setlength{\textwidth}{40zw}
\setlength{\voffset}{-0.3in}
\setlength{\hoffset}{0.5in}

2009年1月20日火曜日

現在の状況

OSはWindows Vista, Vine linux (on VMplayer)
Vistaなのはノートに入っていたから。
Vine は高校の時に先生に勧めてもらった思い出から。(4.0から使用)
TeX, emacs, gcc, apt-get ,親指シフトなどがインストール時から使えるから。(他のlinuxがどうかは知らない)

プログラミング言語はc/c++
正確には、「これからやる」プログラミング言語。
目的は、おもに物理関係。と考えているがあまりよく考えていない。
演算はOctave C++に任せるようというヘタレっぷり。
これもやはり高校の先生に勧めてもらった思い出から。
また、過去に挫折した自分を乗り越えるため。

現時点で
TeX 3年目
親指シフト(NICOLA) 1ヶ月目(ローマ字、かなを経て)
C/C++ 1週間
Linux 3年目だが実質0年(TeXのためにワープロとして)

はじめに

いろいろするのはいいが忘れてはいけない。
いや、忘れてもいいが思い出すことに労力を使うのはもったいない。

そこで、ブログを使ってメモする。
ブログのメリットは以下の通り。
  • ネットが使えるならどこからも参照できる。
  • もしかしたら誰かの役に立つかもしれない。
デメリットとしていい加減なことがかけないということがあるが、そこは閲覧者のインターネット使用者としての「情報を鵜のみにしない」という常識にたよることにする。