MATLAB之家

专注于收录分享MATLAB代码、技巧、经验!
当前位置:网站首页 / MATLAB基础 / 正文

如何利用Matlab求任意多边形的面积

2020-08-21 / MATLAB基础 / 1230 次围观 / 0 次吐槽

今天作一个有关平移的函数,其中要求任意多边形的面积

自己写了些东西,希望对朋友们有点点用啦

首先,任意多边形的面积公式(凹凸都可以)为:

n多变形,S=1/2*sum(x(k)*y(k+1)-x(k+1)*y(k)),其中k的范围是[1,n];因为懒得找求和符号,就用sum代替了求和符号了;

有了这个公式,求多变形面积就很简单,随便说句,我觉得编程或许不是很难,难就难在你首先要懂得那个问题的意思,也就是要知道所求问题的算法,比如,如果不知道上述公式,要我编个求多边形的代码就难了。

下面举例,先任意举一例,相信大家看了这个例子就知道编写n多变形的了,如要获得求n多变形的函数,朋友们请回复下了,回复就可以看到啦

例.求六边形的面积,顶点坐标分别为

p1(-1,0),p2(2,3),p3(4,2),

p4(4,4),p5(6,8),p6(-2,5).


程序如下:

x=[-1 2 4 4 6 -2];%所有顶点的x坐标

y=[0 3 2 4 8 5];  %所有顶点的y坐标

x=[x,x(1)];    %为了形成闭合多变形,把起始点的坐标加进去

y=[y,y(1)];   %同上

plot(x,y)      %显示多变形

s=0;

for i=1:n-1

    a=x(i)*y(i+1)-x(i+1)*y(i);

    s=s+a;

end

S=1/2*s;  %多变形面积。

转自:lxlqcll的论坛分享

推荐您阅读更多有关于“”的文章

请在这里放置你的在线分享代码
本站所有文章如无特别注明均为原创。作者: ,复制或转载请以超链接形式注明转自 MATLAB之家
原文地址《如何利用Matlab求任意多边形的面积
额 本文暂时没人评论 来添加一个吧

发表评论

必填

选填

选填

必填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP,Theme By zblog模板

Copyright©2021. MatlabHome All Rights Reserved. 蜀ICP备15004325号-1

分享:

支付宝

微信

扫一扫,想赞多少就多少~