Ответ 1
Общая идея для такого графика следующая:
Пусть кривая из вашего верхнего участка описывается как y = f (x). В Matlab вы получите множество точек:
x = x0:dx:xf;
y = f(x);
f должна быть внешней функцией или формулой.
Чем у вас есть нулевая функция y2 = g (x2). Первой проблемой вам нужно преобразовать эту функцию в параметрическую форму типа y2 = gy (t), x2 = gx (t). Если у вас будет такое параметрическое представление, вы можете получить два точечных набора, расположенных на равных расстояниях по кривой нулевой линии:
t=x0:dx:xf; % same as x above
x2=gx(t);
y2=gy(t);
Вторая проблема, которую вам нужно получить нормальный вектор для каждой точки нулевой кривой.
Если у вас есть прямая формула y2 = g (x2), вы можете использовать уравнение:
nx - x2 (k) + g '(x2 (k)) * (ny-y2 (k)) = 0
nx ^ 2 + ny ^ 2 = 1
g 'обозначает производную от g; x2 (k), y2 (k) - точки кривой нулевой линии; nx, ny - компоненты нормального вектора для каждой точки.
Позволяет получить два набора nx и ny для каждого t, определенного выше.
Наконец, у вас будет множество требуемых точек для кривой силы:
x=x2+nx;
y=y2+ny;