论坛
我有一组数据,显然在 3D 空间中形成了一个椭圆(不是椭圆体,而是 3D 中的曲线)。受到以下线程http://au.mathworks.com/matlabcentral/newsreader/view_thread/65773的启发 ,并在某人的帮助下,我设法运行优化代码并输出一组最佳参数x(向量)。然而,当我尝试使用这个 x 来复制椭圆时,结果是空间中的一条奇怪的直线。我已经为此好几天了。仍然不知道出了什么问题......非常沮丧......我希望有人能对此有所启发。椭圆的 Mathematica 公式与上面的线程相同,其中
3D 椭圆由以下公式给出:(x;y;z) = (z1;z2;z3) + R(alpha,beta,gamma)。(a cos(phi); b*sin(phi);0)
其中: * z 是平移向量。* R 是旋转矩阵(使用欧拉角,我们首先绕 x 轴旋转 alpha rad,然后绕 y 轴旋转 beta rad,最后再次绕 z 轴旋转 gamma rad)。* a 是椭圆的长轴 * b 是椭圆的短轴。
这是我的优化目标函数(ellipsefit.m)
function [merit]= ellipsefit(x, vmatrix) % x is the initial parameters, vmatrix stores the datapoints
load vmatrix.txt % In vmatrix, the data are stored: N rows x 3 columns
a = x(1);
b = x(2);c …Run Code Online (Sandbox Code Playgroud)