回复: 谁能帮我看看这个程序有什么问题?
首先我不知道你学过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));
|