怎么用matlab拟合出椭圆方程

知道一组x,y的坐标,比如x=1132,y =574;x=350,y=419;x=222,y=828;x=334,y=1024;x=890,y=1034;
x=1036,y=856;x=1064,y=586;x=880,y=337;怎么拟合出椭圆的方程

第1个回答  推荐于2018-05-06

首先要下一个拟合工具 (在附件中),解压安装



x=[1132,350,222,334,890,1036,1064,880];

y =[574,419,828,1024,1034,856,586,337];

XY=[x;y]';

A = EllipseDirectFit(XY);

% A = [a b c d e f]

%  ax^2 + bxy + cy^2 + dx + ey + f = 0


hold on

%Convert the A to str 

a = num2str(A(1)); 

b = num2str(A(2)); 

c = num2str(A(3)); 

d = num2str(A(4)); 

e = num2str(A(5)); 

f = num2str(A(6));


%Equation 

eqt= ['(',a, ')*x^2 + (',b,')*x*y + (',c,')*y^2 + (',d,')*x+ (',e,')*y + (',f,')']; 

xmin=0.7*min(XY(:,1)); 

xmax=1.3*max(XY(:,2)); 

ezplot(eqt,[xmin,xmax]) 

scatter(XY(:,1),XY(:,2),'r') 

hold off


本回答被提问者和网友采纳

在MATLAB中已知椭圆上的数据点,怎么求出椭圆方程?
求解步骤:1、已知x,y数值(数据最好取10点左右)2、利用一般的椭圆方程,改成f(x,y)=(x-x0)²\/a²+(y-y0)²\/b²-1 3、用Matlab的nlinfit()拟合函数,求出系数x0、y0、a、b 4、最后画出曲线图 例如:x=[15.0000 13.0902 8.0902 1.9098 -3...

Matlab椭圆拟合
设椭圆方程:P(1)*x^2+P(2)*y^2+P(3)*x*y+P(4)*x+P(5)*y+P(6)=0 则程序:x = x(:); y = y(:); % 设x和y坐标各存于一个向量中 N = length(x);H = [x.^2, y.^2, x.*y, x, y, ones(N,1)];Q = (H.'*H);[V, D] = eig(Q);D = diag(D)...

给出一些椭圆上离散的点的横纵坐标,怎么用matlab拟合出椭圆方程
function [newX,newY,v]=FitEllip(X,Y,N)本函数用最小二乘法拟合椭圆 输入变量:X、Y为数据点坐标(列向量),N为输出椭圆上的点的数量 输出变量:newX,newY为拟合的椭圆上的点的坐标(列向量)输出变量:v为拟合的椭圆参数,是一个5维行向量,v(1)、v(2)分别为长、短轴,v(3)、v(4...

matlab拟合椭圆曲线
最小二乘法:function zdd = [0.50151 0; 0 1.26586; 1.28399 1.28399; 0.68278 -0.68278; 0 -2.45619; -7.17523 0; -11.13293 -11.13293; -2.15106 2.15106];X = d(:,1)';Y = d(:,2)';clfplot(X,Y,'x')hold onc = lsqcurvefit(@curve,[8 2 50*pi\/180 -5...

怎么用matlab代码拟合椭圆
简单操作拟合1\/4 根据第象限数据(x>0,y>0)进行拟合 变线性拟合MATLAB做线性拟合拟合效更 x^2\/a^2+y^2\/b^2=1变X\/a^2+Y\/b^2=1 MATLAB代码: x=[0.1;0.15;0.3;0.4;0.5;0.8;0.9];%待拟合x轴数据 y=[1.17;1.15;

用matlab咋三维坐标系内拟合椭球公式
待拟合方程:F = z^2 = c^2 - c^2*x^2\/a^2 - c^2*y^2\/b^2 x,y,z 均要先转化为列向量!!!先把 z 值平方,再进行拟合,很重要!!!令 c^2 = k(1),c^2\/a^2 = k(2), c^2*y^2\/b^2 = k(3)求出 k 即得到椭球方程 xdata = [x,y]; %% 将 x,y ...

怎么用Matlab实现椭圆拟合?
以下为matlab采用最小二乘法的椭圆拟合程序:function a = fitellipse(X,Y)FITELLIPSE Least-squares fit of ellipse to 2D points.A = FITELLIPSE(X,Y) returns the parameters of the best-fit ellipse to 2D points (X,Y).The returned vector A contains the center, radii, and orientation ...

怎么用matlab代码拟合椭圆?
clear; clc; close all;设出圆锥曲线方程 F=@(p,x)p(1)*x(:,1).^2+p(2)*x(:,1).*x(:,2)+p(3)*x(:,2).^2+p(4)*x(:,1)+p(5)*x(:,2)+p(6);离散数据点 x=[1.7729 1.9228 1.7338 1.9072 2.0539 1.6137 2.0656 1.6412 1.8611 1.48765 1.9005 1.4971...

我有散点的xy坐标,求问怎么用MATLAB做一个椭圆把它们圈住,求拟合代码...
首先,我们先要自定义椭圆的一般式函数,即 func=inline('(X(:,1)-a(1)).^2\/a(2).^2+(X(:,2)-a(3)).^2\/a(4).^2-1','a','X');其二,根据已知的x、y的散点坐标,利用nlinfit ()非线性回归函数,拟合出a、b、h、k数值。然后,...

matlab实现曲线拟合
在实际应用中,我们首先需获取一系列实验测试点集。然后,使用这些点集求解多项式的系数,实现拟合过程。下面以具体示例说明实现步骤。已知数据集为x=[245,240,235,230,225,218,213,211,210,207,205]和y=[20,25,30,35,40,45,50,52,54,56,59]。利用Matlab实现1次多项式拟合,代码如下:执行“p...

相似回答