2017-08-10 8 views
1

座標系を変更する方法について質問があります。私はデータファイルを使用して、左下隅に原点を持つ空間依存変数(K_final)を作成します。現在の座標系(セル)を使用して、座標系を位置(2,2,2)のモデルグリッドの中心に変更したいと思います。各セルは0.25m /セルです。私がスクリプトに呼び出す.datファイルは、ランダムに生成された相関空間依存フィールドを単純に入れたものです。私はこのフィールドの小さな部分を含んでいます。マトリックス配列の値を変更する方法

値を変更せずに行列のインデックスを変更するにはどうすればよいですか?

A = [0.001 0.1 1 10 0.01 0.1 0.5 0.36 0.8 0.9 1 2 0.001 0.1 1 10 0.01 0.1 0.5 0.36 0.8 0.9 1 2 0.001 0.1 1 10 0.01 0.1 0.5 0.36 0.8 0.9 1 2 0.001 0.1 1 10 0.01 0.1 0.5 0.36 0.8 0.9 1 2 0.001 0.1 1 10 0.01 0.1 0.5 0.36 0.8 0.9 1 2 0.001 0.1 1 10 0.01 0.1 0.5 0.36 0.8 0.9 1 2 0.001 0.1 1 10 0.01 0.1 0.5 0.36]' 

nx = 5; ny = 4; nz = 4; 

k = 1; average_K = 8; 
variance_K_high = 4; 
variance_K_mid = 1; 
variance_K_low = 0.25; 


K_final = zeros(nx,ny,nz); 

for a=1:(nx); 
    for b=1:(ny); 
     for c=1:(nz); 
      K_final(a,b,c) = average_K*exp((variance_K_low^0.5)*A(k,1)); 
      k=k+1;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
     end 
    end 
end 

おかげで、エリック

+1

をxはあなたが何を望んでいるのか、コードが何をしているのか、そして両者の関係は何か。 –

+0

「値を変更せずに行列のインデックスを変更するにはどうすればよいですか?」行列を再構成することを話していますか? matlabの 'reshape()'関数を見てください。 – jodag

+0

現在、私はmatlabを使用して499x499のセルの24グリッドをモデル化しようとしています。距離を測定する私の現在のシステムは細胞を数えています(0.25 m /細胞)。例えば、私が線をプロットしたい場合は、セルの数を使って位置を参照する必要があります。現在、左下隅は最初のセル(1,1,1)です。私は元の質問の起点をセル(2,2,2)にしたいと考えています。起源は現在左下に設定されています。私のK_final配列はx、y、zと変数を与えてくれます。 x、y、zの座標を変更するにはどうすればよいですか? – USer43903820

答えて

0

使用スライス(X、Y、Z、V、SX、Syを、Szを)...あなたはXを望むものを定義した後、yが、それはかなりある

関連する問題