忍者ブログ
日々の研究生活のメモ書きなど
awkコマンドについて過去記事参照

【awk】にちょっと触れてみる。

【シェル】データのある行を取り出したいとき





それでは表題の通り、awkコマンドで疑似乱数を使ってみる

srand()でまず初期シードを与えて、rand()で乱数を出力させる
srandに何も引数を与えないと、現在時刻が初期シードになる

randの返り値は0から1の実数
0から100までの整数の乱数が欲しい場合は int(100*rand()) とすればよい




これを使ってデータを作成してみる
awk 'BEGIN{srand(0); for(j=0; j<5; j++){ for(i=0;i<5;i++){ print j, i,int(100*rand()) }print "" }}' > hoge.txt
1行に書くとかなり読みにくいけど、2重ループ+1つのループが終わるごとに改行しているだけ

データ自体は
0 0 26
0 1 58
0 2 8
0 3 6
0 4 25

1 0 88
1 1 33
1 2 7
1 3 64
1 4 6

2 0 97
2 1 48
2 2 61
2 3 88
2 4 77

3 0 7
3 1 83
3 2 89
3 3 98
3 4 18

4 0 46
4 1 84
4 2 34
4 3 33
4 4 36
初期シードを0に固定しているので、他のマシンでも同じデータになるはず(たぶん)

これをgnuplotのpm3dでplotしてみると

こんな感じにになりました。

このデータを次の記事の説明で使う。










PR
プロフィール
HN:coffee
職業:物理屋(自称)
趣味:映画鑑賞
自己紹介:
#include <stdio.h>
#include "MyProfile.h"

#define TWITTER coffee_pote

#define WISH_LIST
amazonのほしい物リスト
#ifdef RICH_FLAG
// ↑いつも支援いただきありがとうございます m(_ _)m
#endif


int main(void){

printf("\n");
printf("D論・・・? あぁそんな子もいましたね(執筆中)\n");
printf("\n");
printf("猿でもわかるgnuplot を執筆中(こっちの執筆は半年以上何も進んでいない・・・・)\n");
/* 最終更新 2017/07/19 */
return 0;

}
カウンター
ブログ内検索
ツイートするボタン
Flickr

Template "simple02" by Emile*Emilie
忍者ブログ [PR]