Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2009-04-27
帖子: 5
声望力: 0 ![]() |
![]()
数据文件:
x1=[0.2 1.5 0.401;0.2 1.0 0.401;0.2 0.5 0.401;0.2 0 0.478;0.2 -0.5 0.5832; 0.4 1.5 0.401;0.4 1.0 0.401;0.4 0.5 0.401;0.4 0 0.5638; 0.4 -0.5 0.6413; 0.7 1.5 0.401;0.7 1.0 0.401;0.7 0.5 0.401;0.7 0 0.7037;0.7 -0.5 0.6271; 0.9 1.5 0.501;0.9 1.0 0.602;0.9 0.5 0.401;0.9 0 0.6575;0.9 -0.5 0.8564]; M-文件: function f=wensheng(k,x) f=3/(1256*x(1).^2*sqrt(k(1)*k(2)))*exp(-(x(2)-10*k(2)*x(1)).^2/40*k(2)*x(1))*exp(-10*k(3)*x(1)); 执行程序: X=[ones(size(x1(:,1))),x1(:,1:2)]; y=x1(:,3); k0=[1 1 1]; k=nlinfit(X,y,'wensheng',k0) 执行程序的错误提示: ??? Error using ==> nlinfit at 129 MODELFUN should return a vector of fitted values the same length as Y. 希望高手给于指导,不胜感激! |
![]() |
![]() |
![]() |
#2 |
高级会员
注册日期: 2007-06-24
年龄: 70
帖子: 188
声望力: 21 ![]() |
![]()
clear,clc
x=[0.2 1.5 0.401;0.2 1.0 0.401;0.2 0.5 0.401;0.2 0 0.478;0.2 -0.5 0.5832; 0.4 1.5 0.401;0.4 1.0 0.401;0.4 0.5 0.401;0.4 0 0.5638; 0.4 -0.5 0.6413; 0.7 1.5 0.401;0.7 1.0 0.401;0.7 0.5 0.401;0.7 0 0.7037;0.7 -0.5 0.6271; 0.9 1.5 0.501;0.9 1.0 0.602;0.9 0.5 0.401;0.9 0 0.6575;0.9 -0.5 0.8564]; y=x(:,3);x(:,3)=[]; fx=@(b,x)3./(1256*x(:,1).^2*sqrt(b(1)*b(2))).*exp(-(x(:,2)-10*b(2).*x(:,1)).^2/40*b(2).*x(:,1)).*exp(-10*b(3)*x(:,1)); b=[3.51, 0.0223, -0.4595]; for l=1:5 b=lsqcurvefit(fx,b,x,y); b=nlinfit(x,y,fx,b); end bm=b b=[3.5101555, 0.022290283, -0.4594986]; fxy=@(b,x1,x2)3./(1256*x1.^2*sqrt(b(1)*b(2))).*exp(-(x2-10*b(2).*x1).^2/40*b(2).*x1).*exp(-10*b(3)*x1); x1=x(:,1);x2=x(:,2);n=length(y); str=num2str([1:n]'); [x11,x22]=meshgrid(min(x1):range(x1)/60:max(x1),min(x2):range(x2):max(x2)); y1=fxy(b,x11,x22); plot3(x1,x2,y,'o') stem3(x1,x2,y,'filled') text(x1,x2,y,str,'fontsize',12) hold on surf(x11,x22,y1); shading interp alpha(.85) axis tight 结果见生成的图。可见,该组数据用此模型来描述是不恰当的,必须修改该或采用另外的模型。 |
![]() |
![]() |
![]() |
#3 |
初级会员
注册日期: 2009-04-27
帖子: 5
声望力: 0 ![]() |
![]()
多谢指导,数据确实有点问题。因为实验模拟装置太小与实际不符。未考虑边壁效应,因为刚来论坛不久,以后希望多多关心,再次感谢。
|
![]() |
![]() |