Географический эллипс от центра, больших полуосей, эксцентриситета и азимута
[lat,lon] = ellipse1(lat0,lon0,ellipse)
[lat,lon] = ellipse1(lat0,lon0,ellipse,offset)
[lat,lon] = ellipse1(lat0,lon0,ellipse,offset,az)
[lat,lon] = ellipse1(lat0,lon0,ellipse,offset,az,ellipsoid)
[lat,lon] = ellipse1(___,angleUnit)
[lat,lon] = ellipse1(lat0,lon0,ellipse,offset,az,ellipsoid,angleUnit,npts)
[lat,lon] = ellipse1(trackStr,...)
mat = ellipse1(...)
[lat,lon] = ellipse1(lat0,lon0,ellipse) вычисляет эллипс (ы) с центром (ами) вlat0,lon0. Эллипс определяется третьим входом, который имеет вид [semimajor axis,eccentricity], где вход эксцентриситета может быть двухэлементным вектором строки или двухколонной матрицей. Входные данные эллипса должны иметь то же число строк, что и входные скалярные векторы или векторы столбцов lat0 и lon0. Входная большая ось в градусах длины дуги на сфере. Все эллипсы ориентированы так, что их главные оси проходят с севера на юг.
[lat,lon] = ellipse1(lat0,lon0,ellipse,offset) вычисляет эллипс (эллипсы), в котором большая ось поворачивается с точки зрения севера на смещение по азимуту. offset угол измеряется по часовой стрелке с учетом севера, если offset = [], то смещение не предполагается.
[lat,lon] = ellipse1(lat0,lon0,ellipse,offset,az) использует входные данные az для определения вычисленных эллипсовых дуг. Азимуты дуги измеряются по часовой стрелке с севера. az является вектором-столбцом, то длина дуги вычисляется с учетом севера. az является матрицей из двух столбцов, затем вычисляются эллипсовые дуги, начиная с азимута в первом столбце и заканчивая азимутом во втором столбце. Если az = [], затем вычисляется полный эллипс.
[lat,lon] = ellipse1(lat0,lon0,ellipse,offset,az,ellipsoid) вычисляет эллипс на эллипсоиде, определяемом вводом ellipsoid. ellipsoid является referenceSphere, referenceEllipsoid, или oblateSpheroid объект или вектор формы [semimajor_axis eccentricity]. Если не указано, предполагается единичная сфера. При подаче эллипсоида входная большая ось должна быть в тех же единицах, что и большая ось эллипсоида. В этой вызывающей форме единицы основной оси эллипса не предполагаются в градусах.
[lat,lon] = ellipse1(___,angleUnit) где angleUnit определяет единицы ввода и вывода. angleUnit может быть 'degrees' или 'radians'. Если опустить angleUnit, ellipse1 использование 'degrees'.
[lat,lon] = ellipse1(lat0,lon0,ellipse,offset,az,ellipsoid,angleUnit,npts) использует скаляр npts для определения вычисленного количества точек на эллипс. Если npts опущено, используется 100 точек.
[lat,lon] = ellipse1(trackStr,...) где trackStr определяет либо большой круг ('gc') или румбом ('rh') расстояния от центра эллипса.
mat = ellipse1(...) возвращает один выходной аргумент, где mat = [lat lon]. Это полезно, если вычислен только один эллипс.
Можно определить несколько эллипсов с общим центром, предоставив скаляр lat0 и lon0 входы и два столбца ellipse матрица.
Создайте и постройте график малого эллипса с центром в точке (0 °, 0 °) с большой полуосью 10 ° и полуосью 5 °.
axesm mercator ecc = axes2ecc(10,5); plotm(0,0,'r+') [elat,elon] = ellipse1(0,0,[10 ecc],45); plotm(elat,elon)
Если требуемый радиус известен в какой-либо неугольной единице измерения расстояния, используйте радиус, возвращаемый earthRadius используется в качестве входного эллипсоида для задания единиц диапазона. (Используйте пустую запись азимута для указания полного эллипса.)
[elat,elon] = ellipse1(0,0,[550 ecc],45,[],earthRadius('nm'));
plotm(elat,elon,'m--')Для только дуги эллипса введите диапазон азимута:
[elat,elon] = ellipse1(0,0,[5 ecc],45,[-30 70]); plotm(elat,elon,'c-')
