赞
踩
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
现在这个程序是小弟从网上找的有小小的编辑了一下,不加循环语句之前,计算的数据是一列,计算很正确,没有问题。但是我把数据换成三列之后,加了一个for语句循环,结果出来就对不上号了,请教大神怎么解决,急急急。
未加循环,一列数据
A;
B;
a=polyfit(A,B,1);
x=min(A):2:max(A);
y=a(1)*x+a(2);
xlabel('x'),ylabel('y');
plot(x,y,'b',A,B,'r.'),grid on;
B1=a(1)*A1+a(2),c=(B1-B2)/B2,
加了循环,数据也变成三列
A;
B;
for i=1:3;
a=polyfit(A(i),B(i),1);
x=min(A(i)):2:max(A(i));
y=a(1)*x+a(2);
xlabel('x'),ylabel('y');
plot(x,y,'b',A(i),B(i),'r.'),grid on;
B1(i)=a(1)*A1(i)+a(2),c=(B1(i)-B2(i))/B2(i),
end
这时结果就不怎么对了,B1不再是一列,而变成一个数了
这是运行结果,求大家帮忙解决一下
Warning: Polynomial is not unique; degree >= number of data points.
> In polyfit at 71
B1 = 2.7283
c = -0.0028
Warning: Polynomial is not unique; degree >= number of data points.
> In polyfit at 71
B1 = 2.7283 2.7270
c = -0.0069
Warning: Polynomial is not unique; degree >= number of data points.
> In polyfit at 71
B1 = 2.7283 2.7270 3.0143
c = 0.1001
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。