| 查看: 3800 | 回复: 4 | ||
wind5fsa金虫 (小有名气)
|
[求助]
报错求教Undefined functionfor input arguments of type 'double'.
|
|
大家好,我的matlab程序里面有一部分是我在网上下的一个拟合椭圆的程序,该部分程序如下所示,能将我程序前面部分得到的坐标为(X,Y)的一堆数拟合成椭圆,写完之后一直顺利计算。但是最近忽然报错: Undefined function 'fitellipse' for input arguments of type 'double'. Error in F0_1Single_4zhang_ZXEDGEDINGDIAN (line 323) PS:323这一行的程序是: fitellipse(nx,ny) 然后再怎么运行也都是这么报错。求指教,谢谢! if nargin == 0 % Create an ellipse t = linspace(0,2); Rx = 300 Ry = 200 Cx = 250 Cy = 150 Rotation = .4 % Radians x = Rx * cos(t); y = Ry * sin(t); nx = x*cos(Rotation)-y*sin(Rotation) + Cx; ny = x*sin(Rotation)+y*cos(Rotation) + Cy; % Draw it plot(nx,ny,'o'); % Fit it fitellipse(nx,ny) % Note it returns (Rotation - pi/2) and swapped radii, this is fine. return end % normalize data mx = mean(X); my = mean(Y); sx = (max(X)-min(X))/2; sy = (max(Y)-min(Y))/2; x = (X-mx)/sx; y = (Y-my)/sy; % Force to column vectors x = x( ;y = y( ;% Build design matrix D = [ x.*x x.*y y.*y x y ones(size(x)) ]; % Build scatter matrix S = D'*D; % Build 6x6 constraint matrix C(6,6) = 0; C(1,3) = -2; C(2,2) = 1; C(3,1) = -2; % Solve eigensystem [gevec, geval] = eig(S,C); % Find the negative eigenvalue I = find(real(diag(geval)) < 1e-8 & ~isinf(diag(geval))); % Extract eigenvector corresponding to negative eigenvalue A = real(gevec(:,I)); % unnormalize par = [ A(1)*sy*sy, ... A(2)*sx*sy, ... A(3)*sx*sx, ... -2*A(1)*sy*sy*mx - A(2)*sx*sy*my + A(4)*sx*sy*sy, ... -A(2)*sx*sy*mx - 2*A(3)*sx*sx*my + A(5)*sx*sx*sy, ... A(1)*sy*sy*mx*mx + A(2)*sx*sy*mx*my + A(3)*sx*sx*my*my ... - A(4)*sx*sy*sy*mx - A(5)*sx*sx*sy*my ... + A(6)*sx*sx*sy*sy ... ]'; % Convert to geometric radii, and centers thetarad = 0.5*atan2(par(2),par(1) - par(3)); cost = cos(thetarad); sint = sin(thetarad); sin_squared = sint.*sint; cos_squared = cost.*cost; cos_sin = sint .* cost; Ao = par(6); Au = par(4) .* cost + par(5) .* sint; Av = - par(4) .* sint + par(5) .* cost; Auu = par(1) .* cos_squared + par(3) .* sin_squared + par(2) .* cos_sin; Avv = par(1) .* sin_squared + par(3) .* cos_squared - par(2) .* cos_sin; % ROTATED = [Ao Au Av Auu Avv] tuCentre = - Au./(2.*Auu); tvCentre = - Av./(2.*Avv); wCentre = Ao - Auu.*tuCentre.*tuCentre - Avv.*tvCentre.*tvCentre; uCentre = tuCentre .* cost - tvCentre .* sint; vCentre = tuCentre .* sint + tvCentre .* cost; Ru = -wCentre./Auu; Rv = -wCentre./Avv; Ru = sqrt(abs(Ru)).*sign(Ru); Rv = sqrt(abs(Rv)).*sign(Rv); a = [uCentre, vCentre, Ru, Rv, thetarad]; |
» 猜你喜欢
需要合成515-64-0,50g,能接单的留言
已经有5人回复
上海工程技术大学【激光智能制造】课题组招收硕士
已经有6人回复
带资进组求博导收留
已经有11人回复
自荐读博
已经有5人回复
求个博导看看
已经有16人回复
上海工程技术大学张培磊教授团队招收博士生
已经有4人回复
求助院士们,这个如何合成呀
已经有4人回复
临港实验室与上科大联培博士招生1名
已经有9人回复
写了一篇“相变储能技术在冷库中应用”的论文,论文内容以实验为主,投什么期刊合适?
已经有6人回复
最近几年招的学生写论文不引自己组发的文章
已经有11人回复
» 本主题相关价值贴推荐,对您同样有帮助:

baobiao007
木虫 (职业作家)
中国特色
- 应助: 201 (大学生)
- 金币: 6482.7
- 散金: 557
- 红花: 40
- 帖子: 3050
- 在线: 1009.9小时
- 虫号: 505962
- 注册: 2008-02-18
- 专业: 应用地球物理学

2楼2013-10-31 20:25:42
wind5fsa
金虫 (小有名气)
- 应助: 1 (幼儿园)
- 金币: 30.5
- 散金: 75
- 帖子: 83
- 在线: 101.8小时
- 虫号: 1380271
- 注册: 2011-08-26
- 性别: GG
- 专业: 化学反应工程

3楼2013-10-31 23:02:45
wind5fsa
金虫 (小有名气)
- 应助: 1 (幼儿园)
- 金币: 30.5
- 散金: 75
- 帖子: 83
- 在线: 101.8小时
- 虫号: 1380271
- 注册: 2011-08-26
- 性别: GG
- 专业: 化学反应工程

4楼2013-10-31 23:02:55
5楼2013-11-08 17:14:51







;
回复此楼