2017-08-10 104 views
1

我有關於如何更改我的座標系的問題。我使用數據文件創建一個空間因變量(K_final),其起點位於左下角;我想使用當前座標系(單元格)將座標系更改爲位置(2,2,2)處模型網格的中心。每個單元是0.25米/單元。我在腳本中調用的.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

這是很不清楚你想要什麼,代碼做什麼,兩者之間的關係是什麼。請嘗試解釋更多 –

+0

「如何在不更改值的情況下改變矩陣的索引?」你在談論重塑矩陣?請參閱matlab中的'reshape()'函數。 – jodag

+0

目前我正在嘗試使用matlab建模24個499x499單元格。我目前測量距離的系統是計數細胞(0.25米/細胞)。例如,如果我想繪製一條線,我必須使用單元格數引用位置。目前,左下角是第一個單元格(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,X