24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 3878  |  回复: 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];
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

祝福
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wind5fsa

金虫 (小有名气)

我发现只要改一下M文件的名就能成功运行了!但是过一会又报错,再改下M文件名又可以了!到底为什么?是因为我工作路径里没有 fitellipse这个M文件吗?求指教:避免这种情况再出现的方法,谢谢!!!
祝福
4楼2013-10-31 23:02:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

baobiao007

木虫 (职业作家)

中国特色

自己进行单步运行调试,应该很容易锁定问题出错的地方吧。
我同意叔本华的观点,人们投身艺术和科学领域的强烈愿望之一就是逃离痛苦、残酷和枯燥无味的现实生活,逃离自己飘忽不定的七情六欲的桎梏。--爱因斯坦
2楼2013-10-31 20:25:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wind5fsa

金虫 (小有名气)

引用回帖:
2楼: Originally posted by baobiao007 at 2013-10-31 20:25:42
自己进行单步运行调试,应该很容易锁定问题出错的地方吧。

我发现只要改一下M文件的名就能成功运行了!但是过一会又报错,再改下M文件名又可以了!到底为什么?是因为我工作路径里没有 fitellipse这个M文件吗?求指教:避免这种情况再出现的方法,谢谢!!!
祝福
3楼2013-10-31 23:02:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

benbenzjx

金虫 (小有名气)

【答案】应助回帖

文件开头function 名字和参数有没有定义正确?然后把文件名改成fitellipse
5楼2013-11-08 17:14:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 296材料专硕求调剂 +4 202451007219 2026-04-02 5/250 2026-04-02 09:47 by 晴空210210
[考研] 265求调剂 +7 林深温澜 2026-04-01 9/450 2026-04-02 09:32 by kaiyanjie
[考研] 274求调剂 +8 薛定谔的虎。 2026-04-01 8/400 2026-04-02 09:21 by 晴空210210
[考研] 求调剂!生物与医药专硕 +3 逆转陆先生 2026-04-01 3/150 2026-04-02 09:02 by Jaylen.
[考研] 一志愿南昌大学324求调剂 +11 hanamiko 2026-04-01 11/550 2026-04-02 09:00 by sanrepian
[考研] 一志愿北交大材料工程,总分358 +4 cs0106 2026-04-01 4/200 2026-04-02 07:42 by 尚水阁主
[考研] 一志愿西安交大材料学硕(英一数二)347,求调剂到高分子/材料相关专业 +7 zju51 2026-03-31 9/450 2026-04-01 19:35 by CFQZAFU
[考研] 311求调剂 +11 蓝月亮亮 2026-03-30 11/550 2026-04-01 16:33 by 七度不信任
[考研] 348求调剂 +5 小懒虫不懒了 2026-03-27 6/300 2026-04-01 16:13 by yanflower7133
[考研] 08工科275求调剂,可跨考。 +5 AaAa7420 2026-03-31 5/250 2026-04-01 15:21 by 159357hjz
[考研] 一志愿武理材料工程302调剂环化或化工 +15 Doleres 2026-03-31 16/800 2026-04-01 09:49 by lfj11
[考研] 311(085601)求调剂 +12 liziyeyeye 2026-03-28 13/650 2026-04-01 00:34 by fmesaito
[考研] 材料科学与工程求调剂 +13 深V宿舍吧 2026-03-29 13/650 2026-03-31 19:50 by Dyhoer
[考研] 合肥区域性重点一本招收调剂 +4 6266jl 2026-03-30 8/400 2026-03-31 18:43 by 6266jl
[考研] 085601 329分调剂 +6 yzsa12 2026-03-31 6/300 2026-03-31 15:23 by yanflower7133
[考研] 276求调剂 +3 赵久华 2026-03-29 3/150 2026-03-31 10:06 by cal0306
[考研] 303求调剂 +7 DLkz1314. 2026-03-30 7/350 2026-03-30 16:05 by shuang5186
[考研] 求调剂,一志愿 南京航空航天大学大学 ,080500材料科学与工程学硕 +6 @taotao 2026-03-26 7/350 2026-03-30 10:43 by 我是小康
[考研] 343求调剂 +6 爱羁绊 2026-03-29 6/300 2026-03-29 12:00 by 无际的草原
[考研] 324求调剂 +5 hanamiko 2026-03-26 5/250 2026-03-27 10:33 by wangjy2002
信息提示
请填处理意见