【问题标题】:Rearranging a vector in matlab在matlab中重新排列一个向量
【发布时间】:2011-11-07 07:42:19
【问题描述】:

我正在为 1d 中的自适应有限元方法编写代码。我有一个区间可以说 [0,1] 在第一次迭代中,我有一个网格,x=0:.25:1,在第二次迭代中,我想将第二个和最后一个段分成 3 和 5 段。所以更新后的向量 x 有 11 个节点。这个过程将在不同的段上一遍又一遍地重复。我真的很困惑如何更新向量 x?

【问题讨论】:

    标签: matlab finite-element-analysis


    【解决方案1】:

    一种方法是:

    x = 0:0.25:1;
    xrefined3 = [x(1):0.25/3:x(2) x(2:end-1) x(end-1):0.25/3:1];
    xrefined5 = [x(1):0.25/5:x(2) x(2:end-1) x(end-1):0.25/5:1];
    

    【讨论】:

      【解决方案2】:

      假设你的向量 x 有 n 个元素。 并且您想更新第 i 个片段并将其分成 k 个部分。那么:

      x = [x(1:i-1), x(i):((x(i+1) - x(i))/k):x(i+1), x(i+2:n)];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多