【问题标题】:How to change the value of a matrix array如何更改矩阵数组的值
【发布时间】: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 坐标?

标签: matlab matrix indices


【解决方案1】:

使用 Slice(X,Y,Z,V,Sx,Sy,Sz)...在定义你想要的 x,y,x 之后

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-10
    • 2017-03-29
    • 2020-06-20
    • 1970-01-01
    • 2019-11-17
    • 2021-12-11
    • 2018-01-18
    相关资源
    最近更新 更多