在 matlab 中重新排列向量

发布于 2024-12-13 21:19:40 字数 153 浏览 0 评论 0原文

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

I'm writing a code for adaptive finite element method in 1d. I have an interval let say [0,1]
and in first iteration I have a mesh, x=0:.25:1 and in second iteration I would like to divide the second and last segment in 3 and 5 segments. So the updated vector, x has 11 nodes. This process will be repeated over and over with different segments. I am really confused how can I update the vector x?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

苍景流年 2024-12-20 21:19:40

一种方法是:

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];

One way to do this is:

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];
以为你会在 2024-12-20 21:19:40

假设你的向量 x 有 n 个元素。
您想要更新第 i 个段并将其分为 k 个部分。然后:

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

Let's say your vector x has n elements.
And you want to update the i-th segment and divide it into k parts. then:

x = [x(1:i-1), x(i):((x(i+1) - x(i))/k):x(i+1), x(i+2:n)];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文