ginputを使用してポリゴンの長さと面積を計算するスクリプトを作成しようとしています。だから私がどれだけ多くのポイントを選んでも、そのエリアと長さを表示する必要があります。私は面積を計算する関数と長さを計算する関数の2つの関数を作成しました。ポリゴンの長さと面積を計算する
長さ:
function L=polylen(x,y)
n=length(x);
L=0;
for i=1:n-1
L=L+sqrt((x(i+1)-x(i))^2+(y(i+1)-y(i))^2);
end
エリア:ポリゴンをプロットし、閉じるための私のスクリプトは、私は今、これらの関数を呼び出すと、それらを組み込むことができますどのように
clf
axis([0 1 0 1]), hold on
[x,y]=ginput(1);
plot(x,y,'o')
xpol=x;
ypol=y;
while 1
[x,y,knapp]=ginput(1);
if knapp~=1
break
end
xpol=[xpol;x];
ypol=[ypol;y];
plot(xpol(end-1:end),ypol(end-1:end),'o-')
end
xpol=[xpol;xpol(1)];
ypol=[ypol;ypol(1)];
plot(xpol(end-1:end),ypol(end-1:end),'o-')
hold off
function A=polyarea(x,y)
n=length(x);
A=0;
for i=1:n-1
A=A+(x(i+1)+x(i))*(y(i+1)-y(i));
end
A=abs(A)/2;
ある
私のスクリプトは、これらの2つの値を計算することができますか? manualからまっすぐにそれをコピー
私の記事で分かるように、機能は既に定義されています。 3番目のスクリプトでは、これらの関数を使ってポリゴンの面積と長さを計算します。 – Parseval
プロットのテキストにするために私の方法で追加しました。プロンプトまたは他の方法で出力を使用することができます。 – Guto