Из MATLAB документации:http://www.mathworks.com/help/matlab/ref/polyarea.html
Вы можете использовать polyarea
синтаксисом
A = polyarea(X,Y)
A = polyarea(X,Y,dim)
Описание
A = polyarea(X,Y)
возвращает площадь многоугольника, заданную вершинами в векторах X
и Y
.
Если X
и Y
являются матрицами одного и того же размера, а затем возвращает polyarea площадь полигонов, определенных столбцов X
и Y
.
Если X
и Y
многомерные массивы, polyarea возвращает площадь полигонов в первом неодноточечного измерения X
и Y
.
A = polyarea(X,Y,dim)
работает по размеру, заданному скалярным тусклым.
Пример
L = linspace(0,2.*pi,9);
xv = 1.2*cos(L)';
yv = 1.2*sin(L)';
xv = [xv ; xv(1)];
yv = [yv ; yv(1)];
A = polyarea(xv,yv)
// Result A = 4.0729
plot(xv,yv);
title(['Area = ' num2str(A)])
axis image
Это желательно, чтобы вы привести пример, который имеет отношение к вопросу в ФП, а не буквально копировать/вставить документацию MATLAB. – Suever
Спасибо за ваш ответ, я попробовал, и это сработало, но на самом деле я думаю, что не было необходимости в xv = [xv; XV (1)]; yv = [yv; уу (1)]; Спасибо – Soyol
@Suever Это может помочь, это не так? – nanilab