MATLAB polyfit函数不工作
由于某种原因,polyfit函数不断地为我的函数提供NaN,我根本不理解,因为当使用另一个函数时,它工作得很好。这是我的密码:MATLAB polyfit函数不工作,matlab,curve-fitting,data-fitting,Matlab,Curve Fitting,Data Fitting,由于某种原因,polyfit函数不断地为我的函数提供NaN,我根本不理解,因为当使用另一个函数时,它工作得很好。这是我的密码: lb=0; %lowerbound of data ub=10; %upperbound of data step=.001; %step-size through data a=.03; la=1482/120000; %1482 is speed of sound in water and 120kHz ep1=.1; ep2=.2; x=lb:step:u
lb=0; %lowerbound of data
ub=10; %upperbound of data
step=.001; %step-size through data
a=.03;
la=1482/120000; %1482 is speed of sound in water and 120kHz
ep1=.1;
ep2=.2;
x=lb:step:ub;
r_sq_des=0.99; %desired value of r^2 for the fit of data without noise
%present
% G = abs(sin((a/la)*pi.*x.*(sqrt(1+(1./x).^2)-1)));
% r=x;
i=1;
for x=lb:step:ub
G(i,1)= abs(sin((a/la)*pi*x*(sqrt(1+(1/x)^2)-1)));
% N(i,1)=2*rand()-1;
% Ghat(i,1)=(1+ep1*N(i,1))*G(i,1)+ep2*N(i,1);
r(i,1)=x;
i=i+1;
end
Q=polyfit(r,G,2); %Polynomial fit of the data G(r) w.o. noise
Z=polyval(Q,r); %Evaluation of the polynomial fit for the data w.o.noise
请告知。G(1)是nan,这导致了问题。谢谢Daniel,问题已经解决it@Daniel嘿,Daniel,快问一个问题,因为当我加上噪声时,它又发生了,所以新的方程是Ghat方程,在上面被注释掉了。另外,我的新下限是.001。有什么建议吗?这并不是说polyfit不起作用,而是在第
G(i,1)=abs(sin((a/la)*pi*x*(sqrt(1+(1/x)^2)-1)行除以零代码>