メインコンテンツに移動

ファイル読み込み→行列形式に変形→プロット

Cでファイルを以下のように出力した場合を考えます

    fout = fopen(filename, "w" );

    for (int i=0; i<nx; i++){

        for (int j=0; j<ny; j++){

            fprintf(fout, "%f %f %f %f %f %f %f\n", x[i], y[j], r[i][j], u[i][j], v[i][j] , p[i][j], T[i][j]);

        }

        fprintf(fout, "\n");

    }

    fclose(fout);


 

以下のようなスクリプトを用意してhoge.mで保存.(出力ファイルと同じ場所に)(ファイル名・メッシュ数は適切に変更)(お好みで転置してください)

filename = '120*160.dat'

nx = 120;

ny = 160;

 

A=load(filename);

x=A(:,1);

y=A(:,2);

r=A(:,3);

u=A(:,4);

v=A(:,5);

p=A(:,6);

T=A(:,7);

x=reshape(x,ny,nx);

y=reshape(y,ny,nx);

r=reshape(r,ny,nx);

u=reshape(u,ny,nx);

v=reshape(v,ny,nx);

p=reshape(p,ny,nx);

T=reshape(T,ny,nx);

q=sqrt(u.^2+v.^2);

 

hogeのある場所に移動してからワークスペースでhogeを実行すれば,座標や物理量が行列形式で保存されます.後は

contour(x,y,r,40,'k')
 
とかやれば等高線がでます.簡単ですね.図を保存したければ,
saveas(gcf,'hogehoge.png') %png以外も可能
でオッケー.