Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#2 |
高级会员
注册日期: 2008-05-31
年龄: 38
帖子: 104
声望力: 19 ![]() |
![]()
首先我不知道你学过matlab没有,得弄清楚几个问题:m文件,函数文件,主函数和子函数的意义和关系。
如果你想在一个文件内调用circfit的话可以写成这样,把circfit当成一个子函数: function [xc,yc,R,a] =shiyan x=[38.8490, 37.7060, 31.1880, 20.2380, 6.86600, -6.59400, -18.0560, -26.1350,... -30.3280, -30.8140, -28.0350, -22.5420, -14.7820, -5.25900, 5.47500, 16.5870, 26.8930, 34.8520]; y=[ 0., 13.7240, 26.1070, 35.0530, 38.9340, 37.4020, 31.2760, 21.9310, 11.0390,... .1000e-2, -10.2040, -18.9150, -25.6030, -29.8250, -31.0490, -28.7290, -22.5650, -12.6840]; [xc,yc,R,a] = circfit(x,y); function [xc,yc,R,a] = circfit(x,y) n=length(x); xx=x.*x; yy=y.*y; xy=x.*y; A=[sum(x) sum(y) n;sum(xy) sum(yy) sum(y);sum(xx) sum(xy) sum(x)]; B=[-sum(xx+yy) ; -sum(xx.*y+yy.*y) ; -sum(xx.*x+xy.*y)]; a=A\B; xc = -.5*a(1); yc = -.5*a(2); R = sqrt((a(1)^2+a(2)^2)/4-a(3)); |
![]() |
![]() |