![]() |
谁能帮我看看这个程序有什么问题?
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]; function [xc,yc,R,a] = circfit(x,y) %CIRCFIT Fits a circle in x,y plane % % [XC, YC, R, A] = CIRCFIT(X,Y) % Result is center point (yc,xc) and radius R.A is an % optional output describing the circle’s equation: % % x^2+y^2+a(1)*x+a(2)*y+a(3)=0 % by Bucher izhak 25/oct/1991 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)); |
回复: 谁能帮我看看这个程序有什么问题?
首先我不知道你学过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)); |
所有时间均为北京时间。现在的时间是 11:10。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.