最大面積となる頂点は最適化計算で求めることができます。 多角形の面積は頂点 i, i+1, 中心 の三角形の面積の和ですので、それを目的関数とします。 ここで定義した目的関数を最大にするような15つの頂点を最適化で求めます。 制約条件として、それぞれの変数が定義されている数値±1になる点を定義します。
area_poly = polyarea(A(:,1), A(:,2));
多角形ではなく直方体の面積最大化の課題ですが、似たような例を以下のvideoで解説していますので、目的関数と制約条件の設定の参考にしてください。
- 最適化による課題解決とパフォーマンス向上