Очистка NaN диафрагмы в многоугольниках и линиях
[xdata, ydata] = removeExtraNanSeparators(xdata,ydata)
[xdata, ydata, zdata] = removeExtraNanSeparators(xdata,ydata,zdata)
[xdata, ydata] = removeExtraNanSeparators(xdata,ydata) удаляет NaNs из векторов xdata и ydata, оставив только изолированные NaN диафрагмы. Если присутствует, один или несколько ведущих NaNs полностью удаляются. Если присутствует, один конечный NaN сохраняется. NaNs удаляются, но никогда не добавляются, поэтому, если на входе отсутствует конечный NaN, как и выход. xdata и ydata должен совпадать в размере и иметь одинаковые NaN местоположения.
[xdata, ydata, zdata] = removeExtraNanSeparators(xdata,ydata,zdata) удаляет NaNs из векторов xdata, ydata, и zdata, оставив только изолированные NaN диафрагмы и, опционально, если согласуются с входом, одно конечное NaN.
xin = [NaN NaN 1:3 NaN 4:5 NaN NaN NaN 6:9 NaN NaN];
yin = xin;
[xout, yout] = removeExtraNanSeparators(xin, yin);
xout
xout =
1 2 3 NaN 4 5 NaN 6 7 8 9 NaN
xin = [NaN 1:3 NaN NaN 4:5 NaN NaN NaN 6:9]'
yin = xin;
zin = xin;
[xout, yout, zout] = removeExtraNanSeparators(xin, yin, zin);
xout
xout =
1
2
3
NaN
4
5
NaN
6
7
8
9