凸集:找到Ax = b的A和b矩阵点的凸集。

32视图(30天)
背景:
我想从点在地图上创建凸集。例如,如果我有一些点区分土地和水在一个港口和创建一个凸集。然后我会用凸集解决optimaztion问题。
具体的:
有一个通用的方法找到的a和b矩阵方程 一个 x = b 凸集的点在哪里?
说我有下面的凸集与分:
P =
0 0
1.0000 - -1.0000
1.5000 - -0.5000
1.5000 - 0.5000
1.0000 - 1.0000
0 0
我怎么能提取矩阵A和b,这样我可以让一个ineqalities opimization问题?
我已经创建了一个凸集与= [1,0;1,0;1,1;1、1/2);和b = [300200300600] ';这给了我下面的凸集:
但有可能解决它吗?
感激任何帮助!
谢谢

接受的答案

约翰D 'Errico
约翰D 'Errico 2022年10月17日
编辑:约翰D 'Errico 2022年10月17日
@Matt J 有一组工具来处理这些对象。
vert2lcon,他有实用程序,它可以将一组多面体的顶点为一组线性约束。
或者,你可以更进一步,并使用 @Michael Kleder 代码、vert2con那样复杂,但仍应正常工作在一个简单的二维凸包。
5个评论
亨瑞克罗德Nordhus
亨瑞克罗德Nordhus 2023年5月14日在你们
谢谢!我试图使用amatlab。引擎,但是有一些错误和找不到解决方案在线遇到一样的我……我最终使自己的功能,但是,它不工作很好,有时它返回数值不稳定矩阵。希望它很快就会工作!

登录置评。

更多的答案(2)

马特·J
马特·J 2022年10月17日
编辑:马特·J 2022年10月18日
改变变量的问题通过重写x的未知系数向量
在哪里 给定的顶点的凸集。

马特·J
马特·J 2023年5月14日18:58
如果你只需要解决二维情况下,那么您可以使用:
函数[A, b] = vert2ineq2D (A)
%发现2 d凸多边形的表达为一组线性不等式
%的顶点
%
% [A, b] = vert2ineq2D (A)
%
%:
%
%:Nx2矩阵谁行多边形顶点坐标。行必须
%必须命令,以便相邻的行对应于相邻的顶点
%(这将非常的三角形)。
%
%:
%
% [A, b]:资料片向量和Nx2矩阵,这样* x < = b当且仅当x是一个点
%在多边形
%
%
%的例子:检测一个点是否在三角形
%
% % % %数据
%顶点= [0 0;1 0;0 1];%三角形的顶点
% p1 = (5; .25);%一个点在三角形内部
% p2 =(5; 15年);%点外的三角形
%
% [A, b] = vert2ineq2D(顶点);
%
% > > (A * p1 < = b) %测试如果p1是三角形。
%
% ans =
%
% 1
%
% > > (A * p2 < = b) %测试如果p2三角形。
%
% ans =
%
% 0
重心=意味着(a)。';
R = [0 1;1 0];
= diff ([; (: 1)]) * R;
b =总和(a . * 2);
2 = (A *重心> = b);
(二)= b - b (ii);
(二世:)=——(二世:);

类别

找到更多的在编程帮助中心文件交换

下载188bet金宝搏


释放

R2021b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!