小编Chr*_*rie的帖子

端口MATLAB将椭球代码绑定到Python

存在MATLAB代码以找到所谓的"最小体积包围椭圆体"(例如,这里,也在这里).为方便起见,我会粘贴相关部分:

function [A , c] = MinVolEllipse(P, tolerance)
[d N] = size(P);

Q = zeros(d+1,N);
Q(1:d,:) = P(1:d,1:N);
Q(d+1,:) = ones(1,N);


count = 1;
err = 1;
u = (1/N) * ones(N,1);


while err > tolerance,
    X = Q * diag(u) * Q';
    M = diag(Q' * inv(X) * Q);
    [maximum j] = max(M);
    step_size = (maximum - d -1)/((d+1)*(maximum-1));
    new_u = (1 - step_size)*u ;
    new_u(j) = new_u(j) + step_size;
    count = count + 1; …
Run Code Online (Sandbox Code Playgroud)

python matlab porting linear-programming bounding-box

12
推荐指数
1
解决办法
3417
查看次数