how can i calculate a complex polygon with coordinates in matlab ?

5 次查看(过去 30 天)
Hi,
how can I calculate A complex polygon in Matlab?
image shows what I need to calculate in Matlab. do you guys have any code for that ? or are there any Matlab command which can calculate it by coordinates?
thanks in advance
  4 个评论
ADNAN KIRAL
ADNAN KIRAL 2020-10-19
thanks for your reply.
calculation of the area !.
I have a large number of coordinates. If I can code it in Matlab. I will replace with my coordinates. So that I need to know how to calculate the area of such shape.

请先登录,再进行评论。

采纳的回答

Ameer Hamza
Ameer Hamza 2020-10-19
The equation in your comment can be written in MATLAB like this
A = 1/2*sum(x(1:end-1).*y(2:end)-y(1:end-1).*x(2:end));
  7 个评论
Ameer Hamza
Ameer Hamza 2020-10-19
You can try something like this
X;
Y;
A = zeros(1, numel(X)-2);
for i = 1:numel(A)
x = X(1:i+2);
y = Y(1:i+2);
A(i) = 1/2*sum(x(1:end-1).*y(2:end)-y(1:end-1).*x(2:end));
end

请先登录,再进行评论。

更多回答(2 个)

Durganshu
Durganshu 2020-10-19
You can use polyarea for accomplishing your task. The documentation is here:
Hope that helps!
  1 个评论
ADNAN KIRAL
ADNAN KIRAL 2020-10-19
thanks for reply.
one more question please ? how can I get coordinate vs. area ( at the end, I need to know how the area is increasing with coordinate change)
I have tried "cumsum" Matlab command, but it did not work. it gave the total area. thanks

请先登录,再进行评论。


Steven Lord
Steven Lord 2020-10-19
If you want to do more than just compute its area I would use polyshape for that.
>> x = [7 7 5 3 -5 0 -8 2 -4];
>> y = [-7 3 -6 3 3 8 3 -3 -8];
>> P = polyshape(x, y);
>> plot(P)
There are a number of questions you can ask about a polyshape and a number of operations you can perform on one.

类别

Help CenterFile Exchange 中查找有关 Elementary Polygons 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by