#matlab #finite-element-analysis
#matlab #анализ методом конечных элементов
Вопрос:
Я пишу код для адаптивного метода конечных элементов в 1d. У меня есть интервал, скажем, [0,1], и на первой итерации у меня есть сетка, x = 0: .25: 1, а на второй итерации я хотел бы разделить второй и последний сегменты на 3 и 5 сегментов. Таким образом, обновленный вектор x имеет 11 узлов. Этот процесс будет повторяться снова и снова с разными сегментами. Я действительно в замешательстве, как я могу обновить вектор x ?
Ответ №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)];