24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1626  |  回复: 1

shensc

铜虫 (初入文坛)

[求助] 求助Matlab中曲线拟合时出现的问题,求助各位大神

在数据模拟时出现下列错误
Error using lsqcurvefit (line 248)
Function value and YDATA sizes are not equal.

Error in Simulation_20150310 (line 17)
Factor=lsqcurvefit('delta_sigma',factor0,Data(1:294,1),Data(1:294,2));


函数为:
function f=delta_sigma(B,xdata)

h=6.626*10^(-34);        %单位是J·S
e=1.6*10^(-19);             %单位是C
G0=e^2/pi/h;

n=length(xdata);
for i=1:n  
f(i)=(-psi(1/2+B(1)/xdata(i))+ ...
    3/2*psi(1/2+(B(2)+B(3))/xdata(i))- ...
   1/2*psi(1/2+B(2)/xdata(i))- ...
   log((B(2)+B(3))/B(1))- ...
   1/2*log((B(2)+B(3))/B(2)));
end

单独运行函数的时候可以,但是放在程序里就出现开头的问题.

程序:
clear all
clc

load Data.mat

figure
plot(Data(:,1),Data(:,2),'*'),hold on

h=6.626*10^(-34);        %单位是J·S
e=1.6*10^(-19);             %单位是C
G0=e^2/pi/h;

factor0=[3.1,0.5,1]';
Factor=lsqcurvefit('delta_sigma',factor0,Data(1:294,1),Data(1:294,2));

一运行就出现错误,
Error using lsqcurvefit (line 248)
Function value and YDATA sizes are not equal.

Error in Simulation_20150310 (line 17)
Factor=lsqcurvefit('delta_sigma',factor0,Data(1:294,1),Data(1:294,2));

这是什么原因
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shensc

铜虫 (初入文坛)

多谢啊,但是之前找了好多,就是这个问题没有解决
2楼2015-03-12 08:56:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 shensc 的主题更新
信息提示
请填处理意见