马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
建立m文件:
function f=test_E(param,R)
hi=[0.1340 0.1800 0.1171 0.1168 0.1320 0.1790];
f=[param(1).*((hi+param(2))./(R+param(3))).*(exp(-2.*param(4).*(R-param(5)))-2.*exp(-param(4).*(R-param(5))))];
运行:
f=[3.570 2.410 4.506 4.517 4.020 2.630]; R=[0.1827 0.1800 0.1855 0.1852 0.1815 0.1791];
param0=[2 20 0.2 0.1 0.1]; options=optimset('LevenbergMarquardt','on');
param=nlinfit(f,R,@test_E,param0)
输出结果是:
??? Error using ==> ./
Matrix dimensions must agree.
Error in ==> C:\MATLAB6p5\work\test_E.m
On line 3 ==> f=[param(1).*((hi+param(2))./(R+param(3))).*(exp(-2.*param(4).*(R-param(5)))-2.*exp(-param(4).*(R-param(5))))];
Error in ==> C:\MATLAB6p5\toolbox\stats\nlinfit.m
On line 57 ==> if any(size(feval(model,beta0,X)) ~= size(y))
Error in ==> C:\MATLAB6p5\work\cos_9.m
On line 5 ==> param=nlinfit(f,R,@test_E,param0)
修改“./”为“/”; 输出结果是:
??? Error using ==> /
Matrix dimensions must agree.
Error in ==> C:\MATLAB6p5\work\test_E.m
On line 3 ==> f=[param(1).*((hi+param(2))/(R+param(3))).*(exp(-2.*param(4).*(R-param(5)))-2.*exp(-param(4).*(R-param(5))))];
Error in ==> C:\MATLAB6p5\toolbox\stats\nlinfit.m
On line 57 ==> if any(size(feval(model,beta0,X)) ~= size(y))
Error in ==> C:\MATLAB6p5\work\cos_9.m
On line 5 ==> param=nlinfit(f,R,@test_E,param0)
这是为什么啊?? 是因为不能使用nlinfit函数,还是我编写错误啊??
[ 本帖最后由 ChaChing 于 2010-4-29 22:05 编辑 ] |