24小时热门版块排行榜    

查看: 448  |  回复: 2
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

wangjunlitylg

金虫 (小有名气)

[求助] 参数拟合:能运行但初值不进行迭代,输入什么值结果还是什么值

能运行的程序如下:
function wenxian1
global    k0  T s1  
data=xlsread('D:文献.xlsx');T = data(:,1)';v= data(:,2);
E0=232000;k0=8e12;kam=7130;s1=10/6;v0=0;
beta0=[E0 kam];
[beta,resnorm,resid,exitflag,output,lambda] =  lsqnonlin(@OptObjFunc,beta0,[],[],[],T,v0,v)
vg=KineticsEqs(beta);
figure,plot(T,v,'b-',T,vg,'k-')
legend('Exp','Model')

function f = OptObjFunc(beta,T,v0,v)
vg = KineticsEqs(beta);
f =v - vg';
function vg = KineticsEqs(beta)
global a b c T s1 k0 d
a=2*beta(2)^2;
b=-k0*8.314/s1;
c = 1/(beta(2)*sqrt(2*pi));
d=beta(1)
ss=beta(1)+200*beta(2);
xx=0;
E=xx:ss;
vg= quadv(@func,xx,ss);

function y=func(E)
global   k0  T s1 a b c d
y=k0./s1.*exp(-E./(8.314.*T)+b.*T.^2./E.*exp(-E./(8.314.*T))).*(c.*exp(-(E-d).^2./a));

运行结果:还是原来附的初值,且模拟和实验差别很大,即好像不进行拟合,
我很努力了但就解决不了,谢谢大家,如果解决很感谢!
回复此楼

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : 文献.xlsx
  • 2016-04-02 11:20:32, 10.81 K

» 猜你喜欢

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

wangjunlitylg

金虫 (小有名气)

引用回帖:
2楼: Originally posted by 月只蓝 at 2016-04-02 11:32:26
excel文档中,三列数据各对应什么变量?

T是第一列,v是第二列,第三列没用到,谢谢了。
3楼2016-04-03 16:44:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 3 个回答

月只蓝

主管区长 (职业作家)

excel文档中,三列数据各对应什么变量?
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
2楼2016-04-02 11:32:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见