【发布时间】:2011-11-07 07:42:19
【问题描述】:
我正在为 1d 中的自适应有限元方法编写代码。我有一个区间可以说 [0,1] 在第一次迭代中,我有一个网格,x=0:.25:1,在第二次迭代中,我想将第二个和最后一个段分成 3 和 5 段。所以更新后的向量 x 有 11 个节点。这个过程将在不同的段上一遍又一遍地重复。我真的很困惑如何更新向量 x?
【问题讨论】:
标签: matlab finite-element-analysis
我正在为 1d 中的自适应有限元方法编写代码。我有一个区间可以说 [0,1] 在第一次迭代中,我有一个网格,x=0:.25:1,在第二次迭代中,我想将第二个和最后一个段分成 3 和 5 段。所以更新后的向量 x 有 11 个节点。这个过程将在不同的段上一遍又一遍地重复。我真的很困惑如何更新向量 x?
【问题讨论】:
标签: matlab finite-element-analysis
一种方法是:
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];
【讨论】:
假设你的向量 x 有 n 个元素。 并且您想更新第 i 个片段并将其分成 k 个部分。那么:
x = [x(1:i-1), x(i):((x(i+1) - x(i))/k):x(i+1), x(i+2:n)];
【讨论】: