GSLで簡単プログラミング1

2011/02/14未分類import

GSLで簡単プログラミング1

マニュアルに載っているベッセル関数の例だけでは何だかよくわからないので,続きを書いてみる.
というか,この例だと,一点しかわからないので,データをテキストファイルに保存してくれるような,次のようなプログラムを書いてみた.
#include <stdio.h>
#include <gsl/gsl_sf.h>		//特殊関数のヘッダファイル
#include <gsl/gsl_math.h>	//数学の基本的な関数のヘッダファイル
 
int main(void)
{
	double xx = -500.0;	//x.初期値を一応設定.
	double yy = 0;		//y.初期値を設定
	int i;			//ループ用変数.
	int stop_i=10000;	//ループの停止値.まあ設定する必要もない気がするけど作った….
	
	FILE *outputdata;	//データ保存用ストリーム.

	outputdata = fopen("outputdata.txt", "w");	//データ保存ファイル,オープン
	fprintf(outputdata, "#xx\tyy\n");
	fclose(outputdata);				//データ保存ファイル,クローズ


	for (i=1 ; i<=stop_i ; i++){
		xx = xx + 0.1;
		yy=gsl_sf_bessel_J0(xx);
		outputdata = fopen("outputdata.txt", "a");
		fprintf(outputdata, "%f\t%f\n", xx,yy);
		printf("%d回目の計算結果:J0(%g) = %.18e\n", i, xx, yy);
		fclose(outputdata);
	}
	return 0;
}
はき出したテキストファイルを範囲指定してグラフ化すると,次のようになったり.
Graph0_gsl_sf_bessel_J0.png


Graph1_gsl_sf_bessel_J0.png

ある文字列を囲んでいる記号を別の記号に置換する

2011/02/01未分類import

ある文字列を囲んでいる記号(括弧やダブルクオーテーション)を別の記号に置換する

vim(というか正規表現)では次のように打つ.
:1467,1480s/"\(.*\)"/{\1}/g 
この例では,編集しているテキストファイルの1467から1480行の範囲にある,「""」で囲まれた文字列を「{}」(本当は半角の括弧)で囲むように置換している.
正規表現では,「\(」と「\)」に囲まれた文字列は,再利用することが出来る.
再利用する場合は,「\n」(nは1以上の自然数で,「\(」と「\)」で囲んだ順番をさす)を使う.

ある記号に囲まれた文字列に対して,その囲んでいる記号だけを変えたいことは結構あるので,これを覚えておくとルーチンワークを軽減できる.

応用例

LuaLaTeX等において,太字修飾していた文字列を,さらにサンセリフフォントに指定する例.後付けでこのような編集をすることは結構ある気がする.
:237,287s/\\textbf{\(.*\)}/\\textsf{\\textbf{\1}}/g 

履歴検索いろいろ 端末でCtrl+rとたたいた後に

2011/01/29未分類import

端末でCtrl+rとたたいた後に履歴検索

表題にあるとおり,仮想端末(ターミナル)でCtrl+rをたたくと,カーソル位置に次のような表示が出ます.
(reverse-i-search)`':
この状態で,「cd」と打ってみると,「`」と「'」の間に入力した文字列が,「:」よりも右にその文字列を含む最新の履歴が表示されます.
(reverse-i-search)`cd': cd HD-1920-16対9/
「cd」のあとにさらに,半角スペースで区切って,別の文字列を追加すると絞り込むことが出来ます.
多少,癖というか特有の決まりがあるようですが,それは操作していくことでわかると思われます.
この記事を書いている時点では,私はあまり把握できてません.

この記事は行っとけ! Ubuntu道場! ― 第35回~師範、ターミナル怖いです!~というサイトに掲載されていた情報を参照しました.
ありがとうございます.目から鱗でした.
あわせて,historyコマンドというものも活用するといいかと思われます.

別の履歴参照方向キーの↑と↓

端末で,方向キーの↑と↓を使って,履歴をさかのぼることが出来ます.上の記事でも触れています.
私もこれと下のタブ補完は知ってました.この二つを知っているだけでも端末操作はかなりはかどるようになります.

タブキーで補完

コマンドで引数をとるものを使うときや,長めのコマンドを入力するとき,途中まで入力した状態でTabキーを押すと,
シェルが適切な文字列で補ってくれます.
候補が多い場合は,タブキーをもう一回押すと候補のリストを表示してくれて,それを見ながら次の文字を入力していけます.
これを利用することで,キーボードをたたく回数が激減します.お薦めです.

キャラ絵でCPU使用率の確認

2011/01/22未分類import

キャラ絵でCPU使用率の確認

計算を実行する際にCPUの使用率が視覚的にわかると良い,ということになって,
萌え萌えな絵でそういうことを出来ないかと探して実行.
VistafaceThroughPassの合わせ技でちょっぴり便利になりました.
Vistafaceが目的のアプリです.
ThroughPassはWindows Vista以降で採用された,ガジェットというツールを常に最前面に表示したとき,
ガジェットの上にカーソルがあっても,ガジェットを下に表示されているアプリケーションに操作が透過するというプログラムです(なぜこれがOS標準にないのかが謎).
これで,ガジェットをデスクトップに置いても,面倒なことはありませんね.

WS000068.jpg


インストールの仕方は多分誰でもわかるので,ソフト名とリンク先のメモということで記しておきます.