| 查看: 2366 | 回复: 11 | |||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | |||
[求助]
好心虫友,帮忙看看这个matlab程序那里出错了 已有1人参与
|
|||
|
用matlab拟合数据,进行NRTL模型拟合:我编写了如下的程序,一直出错,麻烦有懂的虫友帮忙看看,怎么改错?? (一)定义.m文件。 function g4=f(beta0,x1,x2,T,R) g1=beta0(1); g2=beta0(2); g3=beta0(3); g4=beta0(4); g4=x2.*x2.*((((g(1)./(R.*T)).*(exp(-g(3).*g(1)./(R.*T))).^2)./((x1+(exp(-g(3).*g(1)./(R.*T))).*x2).^2))+(((g(2)./(R.*T)).*(exp(-g(3).*g(2)./(R.*T))).^2)./((x2+(exp(-g(3).*g(2)./(R.*T))).*x1).^2))) (二)编写程序。 x1=[0.01525 0.02059 0.02685 0.03417 0.04221 0.04958]; x2=[0.98475 0.97941 0.97315 0.96583 0.95779 0.95042]; T=[298.15 303.15 308.15 313.15 318.15 323.15]; R=[8.314 8.314 8.314 8.314 8.314 8.314]; beta0=[0,0,0,0]; [g,resnorm]=lsqcurvefit(@f,beta0,x1,x2,T,R) 运行后出错: Warning: Length of lower bounds is > length(x); ignoring extra bounds. > In checkbounds at 27 In optim\private\lsqncommon at 39 In lsqcurvefit at 149 In Untitled2 at 6 Warning: Length of upper bounds is > length(x); ignoring extra bounds. > In checkbounds at 37 In optim\private\lsqncommon at 39 In lsqcurvefit at 149 In Untitled2 at 6 Exiting due to infeasibility: 4 lower bounds exceed the corresponding upper bounds. g = 0 0 0 0 resnorm = [] |
» 猜你喜欢
有机合成以后会不会被AI改变?做科研的虫友怎么看
已经有8人回复
求合成方法
已经有7人回复
上海工程技术大学 激光智能制造课题组 2027级博士研究生招生
已经有4人回复
现代”学阀”该如何界定
已经有12人回复
课题组招2027级博士 上海工程技术大学 激光智能制造方向
已经有4人回复
我的奶奶
已经有3人回复
|
我再把我现在的程序发一遍完整的,这样子不会乱。 m文件: function g4=f(beta0,x1,x2,T,R) g1=beta0(1); g2=beta0(2); g3=beta0(3); g4=beta0(4); g4=exp(x2.*x2.*((((g(1)./(R.*T)).*(exp(-g(3).*g(1)./(R.*T))).^2)./((x1+(exp(-g(3).*g(1)./(R.*T))).*x2).^2))+(((g(2)./(R.*T)).*(exp(-g(3).*g(2)./(R.*T))).^2)./((x2+(exp(-g(3).*g(2)./(R.*T))).*x1).^2)))) 程序代码: x1=[0.01525 0.02059 0.02685 0.03417 0.04221 0.04958]; x2=[0.98475 0.97941 0.97315 0.96583 0.95779 0.95042]; T=[298.15 303.15 308.15 313.15 318.15 323.15]; R=[8.314 8.314 8.314 8.314 8.314 8.314]; beta0=[1,1,0.3,1]; [g,resnorm]=lsqcurvefit(@f,beta0,x1,x2,T,R) 运行后输出: Warning: Length of lower bounds is > length(x); ignoring extra bounds. > In checkbounds at 27 In optim\private\lsqncommon at 39 In lsqcurvefit at 149 In Untitled2 at 6 Warning: Length of upper bounds is > length(x); ignoring extra bounds. > In checkbounds at 37 In optim\private\lsqncommon at 39 In lsqcurvefit at 149 In Untitled2 at 6 Exiting due to infeasibility: 4 lower bounds exceed the corresponding upper bounds. g = 1.0000 1.0000 0.3000 1.0000 resnorm = [] 就是初始值定义什么就出什么。 或者这个应该怎么写呢? |
8楼2017-07-09 18:53:25
2楼2017-07-09 17:29:24
3楼2017-07-09 17:49:08
4楼2017-07-09 17:49:43










回复此楼
