如何用matlab确定函数的系数已知很多点的横纵坐标,分别存放在向量x和y中现在知道这些点在同一个椭圆上设椭圆方程是Ax.^2+By.^2+Cx+Dy+E=0如何用matlab确定A,B,C,D,E的值?我参加今年的数学建模,就

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 16:46:02

如何用matlab确定函数的系数已知很多点的横纵坐标,分别存放在向量x和y中现在知道这些点在同一个椭圆上设椭圆方程是Ax.^2+By.^2+Cx+Dy+E=0如何用matlab确定A,B,C,D,E的值?我参加今年的数学建模,就
如何用matlab确定函数的系数
已知很多点的横纵坐标,分别存放在向量x和y中
现在知道这些点在同一个椭圆上
设椭圆方程是Ax.^2+By.^2+Cx+Dy+E=0
如何用matlab确定A,B,C,D,E的值?
我参加今年的数学建模,就卡到这个里.问题有效期到9月21号晚5点
如果在有效期内回答的好的话我将追加100分

如何用matlab确定函数的系数已知很多点的横纵坐标,分别存放在向量x和y中现在知道这些点在同一个椭圆上设椭圆方程是Ax.^2+By.^2+Cx+Dy+E=0如何用matlab确定A,B,C,D,E的值?我参加今年的数学建模,就
在Matlab下输入:edit,然后将下面两行百分号之间的内容,复制进去,保存
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function z=zhidao_fit_1(a,x)
%这里用的是a*x^2 + b*x*y + c*y^2 + d*x + e*y + f=0
%其中x,y分别用x(:,1),x(:,2)表示
%z=a(1)*x^2+a(2)*x*y+a(3)*y^2+a(4)*x+a(5)*y+a(6)
z=a(1)*x(:,1).^2+a(2)*x(:,1).*x(:,2)+a(3)*x(:,2).^2+a(4)*x(:,1)+a(5)*x(:,2)+a(6);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%数据产生,这里以x^2/9+y^2/16=1产生数据
%如果有数据,直接将下面三行替换掉.这里要求x,y为列向量
seta=linspace(0,2*pi,20)';
x=3*cos(seta);
y=4*sin(seta);
X=[x,y];
F=zeros(size(x));
[ABC,res]=lsqcurvefit('zhidao_fit_1',ones(1,6),X,F);
ABC
得到结果
ABC =
0.0073 -0.0000 0.0041 -0.0000 0.0000 -0.0655
这个与x^2/9+y^2/16=1是一致的.
注意有时,ABC的值直接看是0,你可以通过vpa(ABC,4)来看,很可能就不是0,是一个比较小的数.