【发布时间】:2018-01-19 08:05:18
【问题描述】:
我有一个关于如何更改我的坐标系的问题。我使用数据文件创建一个空间因变量(K_final),我的原点位于左下角;我想使用当前坐标系(单元格)将坐标系更改为模型网格的中心位置(2,2,2)。每个单元格为 0.25 m/单元格。我在脚本中调用的 .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
谢谢,埃里克
【问题讨论】:
-
目前还不清楚你想要什么,代码做什么,两者之间的关系是什么。请尝试解释更多
-
"如何在不改变值的情况下改变矩阵的索引?"您是在谈论重塑矩阵吗?参见 matlab 中的
reshape()函数。 -
目前我正在尝试使用 matlab 对 24 个 499x499 单元格的网格进行建模。我目前测量距离的系统是计数细胞(0.25 m/细胞)。例如,如果我想绘制一条线,我必须使用单元格数来引用该位置。目前,左下角是第一个单元格 (1,1,1)。我想让单元格 (2,2,2) 成为原始问题中的原点,因为原点当前设置在左下方。所以我的 K_final 数组给了我 x、y、z 和变量。如何更改 x、y 和 z 坐标?