Aus MATLAB Dokumentation:http://www.mathworks.com/help/matlab/ref/polyarea.html
können Sie polyarea
verwenden
Sintax
A = polyarea(X,Y)
A = polyarea(X,Y,dim)
Beschreibung
A = polyarea(X,Y)
gibt den Bereich des Polygons zurück, der durch die Scheitelpunkte in den Vektoren X
und Y
angegeben wird.
Wenn X
und Y
Matrizen der gleichen Größe sind, dann kehrt polyarea den Bereich der Polygone durch die Spalten definiert X
und Y
.
Wenn X
und Y
mehrdimensionalen Arrays, dann liefert polyarea den Bereich der Polygone in der ersten Dimension der nonsingleton X
und Y
.
A = polyarea(X,Y,dim)
arbeitet entlang der Dimension, die durch Skalar dim angegeben wird.
Beispiel
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
Es ist zu bevorzugen, dass Sie ein Beispiel nennen, die eher eine Frage an die OP relevanten ist als buchstäblich Kopieren/die Dokumentation MATLAB einfügen. – Suever
Vielen Dank für Ihre Antwort, ich habe es versucht und es hat funktioniert, aber eigentlich denke ich, dass es keine Notwendigkeit für xv = [xv; xv (1)]; yv = [yv; yv (1)]; Danke – Soyol
@Suever Es könnte helfen, ist es nicht? – nanilab