24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 1081  |  回复: 5

greetrunners

金虫 (著名写手)

[求助] MATLAB, 代码错误,请大侠帮忙看看。

[t12 t21 t13 t31 t23 t32]=lsqnonlin(@lsqfun3,1,1,1,1,1,1)
Undefined function or variable 'a2'.

Error in lsqfun3 (line 8)
k1=(a2.^2*t21*exp(-0.3*t21)*exp(-0.3*t21)+a3.^2*t31*exp(-0.3*t31)*exp(-0.3*t31)+a2.*a3*exp(-0.3*t21)*exp(-0.3*t31)*(t21+t31))./((a1+a2.*exp(-0.3*t21)+a3*exp(-0.3*t31)).^2);

Error in lsqnonlin (line 197)
            initVals.F = feval(funfcn{3},xCurrent,varargin{:});

Caused by:
    Failure in initial user-supplied objective function evaluation. LSQNONLIN cannot continue.


为了减少输出的参数,编写以下函数,出现了上述问题。
function obj=lsqfun3(t12,t21,t13,t31,t23,t32)
%t12,t21,t13,t31,t23,t32,是所需要关联的NRTL方程参数;
%a1,a2,a3,是组分1,2,3,液相平衡数据;
%y1,y2,y3,是组分1,2,3,气相平衡数据;
%ps1,ps2,ps3,是组分1,2,3的饱和蒸汽压;
%p==101.35;
p=101.35;
k1=(a2.^2*t21*exp(-0.3*t21)*exp(-0.3*t21)+a3.^2*t31*exp(-0.3*t31)*exp(-0.3*t31)+a2.*a3*exp(-0.3*t21)*exp(-0.3*t31)*(t21+t31))./((a1+a2.*exp(-0.3*t21)+a3*exp(-0.3*t31)).^2);
k2=(a2.^2*t12*exp(-0.3*t12)+a2.*a3*exp(-0.3*t12)*exp(-0.3*t32)*(t12-t32))./((a1*exp(-0.3*t12)+a2+a3*exp(-0.3*t32)).^2);
k3=(a3.^2*t13*exp(-0.3*t13)+a2.*a3*exp(-0.3*t13)*exp(-0.3*t23)*(t13-t23))./((a1*exp(-0.3*t13)+a2*exp(-0.3*t23)+a3).^2);
k4=(a1.^2*t21*exp(-0.3*t21)+a1.*a3*exp(-0.3*t21)*exp(-0.3*t31)*(t21-t31))./((a1+a2*exp(-0.3*t21)+a3*exp(-0.3*t31)).^2);
k5=(a1.^2*t12*exp(-0.3*t12)^2+a3.^2*t32*exp(-0.3*t32)^2+a1.*a3*exp(-0.3*t12)*exp(-0.3*t32)*(t12+t32))./((a1*exp(-0.3*t12)+a2+a3*exp(-0.3*t32)).^2);
k6=(a3.^2*t23*exp(-0.3*t23)+a1.*a3*exp(-0.3*t13)*exp(-0.3*t23)*(t23-t13))./((a1*exp(-0.3*t13)+a2*exp(-0.3*t23)+a3).^2);
k7=(a1.^2*t31*exp(-0.3*t31)+a1.*a2*exp(-0.3*t21)*exp(-0.3*t31)*(t31-t21))./((a1+a2*exp(-0.3*t21)+a3*exp(-0.3*t31)).^2);
k8=(a2.^2*t32*exp(-0.3*t32)^2+a1.*a2*exp(-0.3*t12)*exp(-0.3*t32)*(t32-t12))./((a1*exp(-0.3*t12)+a2+a3*exp(-0.3*t32)).^2);
k9=(a1.^2*t13*exp(-0.3*t13)^2+a2.^2*t23*exp(-0.3*t23)^2+a1.*a2*exp(-0.3*t13)*exp(-0.3*t23)*(t13+t23))./((a1*exp(-0.3*t13)+a2*exp(-0.3*t23)+a3).^2);
gama1=exp(k1+k2+k3);
gama2=exp(k4+k5+k6);
gama3=exp(k7+k8+k9);
y1c=ps1.*gama1.*a1./p;
y2c=ps2*gama2*a2./p;
y3c=ps3*gama3*a3./p;
obj=sum(sum((y1c-y1).^2+(y2c-y2).^2+(y3c-y3).^2));
>> y1=[0.8907
0.8924
0.733
0.7731
0.698
0.7778
0.7622
0.7796
0.7934];
y2=[0.1082
0.1067
0.6626
0.5623
0.732
0.4326
0.3978
0.3766
0.3473];
y3=[0
0
0
0
0
0
0
0
0];
a1=[0.8918
0.8933
0.3374
0.4377
0.268
0.5674
0.6022
0.6234
0.6527];
a2=[0.10723
0.10649
0.62613
0.53391
0.70928
0.42518
0.39054
0.37007
0.34364];
a3=[0.00097
0.00021
0.03647
0.02839
0.02272
0.00742
0.00726
0.00653
0.00366];
回复此楼

» 猜你喜欢

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

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

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
greetrunners: 金币+10, ★★★很有帮助, 谢谢 2013-01-31 09:39:29
xzhdty: 金币+1, 谢谢骠骑将军 2013-01-31 11:08:38
function obj=lsqfun3(t12,t21,t13,t31,t23,t32)
%t12,t21,t13,t31,t23,t32,是所需要关联的NRTL方程参数;
%a1,a2,a3,是组分1,2,3,液相平衡数据;
%y1,y2,y3,是组分1,2,3,气相平衡数据;
%ps1,ps2,ps3,是组分1,2,3的饱和蒸汽压;
%p==101.35;
p=101.35;
k1=(a2.^2*t21*exp(-0.3*t21)*exp(-0.3*t21)+a3.^2*t31*exp(-0.3*t31)*exp(-0.3*t31)+a2.*a3*exp(-0.3*t21)

===============
函数中a2,a3没定义啊,怎么就开始用了
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
2楼2013-01-30 17:17:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

greetrunners

金虫 (著名写手)

引用回帖:
2楼: Originally posted by libralibra at 2013-01-30 17:17:00
function obj=lsqfun3(t12,t21,t13,t31,t23,t32)
%t12,t21,t13,t31,t23,t32,是所需要关联的NRTL方程参数;
%a1,a2,a3,是组分1,2,3,液相平衡数据;
%y1,y2,y3,是组分1,2,3,气相平衡数据;
%ps1,ps2,ps3,是 ...

应该如何定义?
努力!努力!努力!
3楼2013-01-30 19:08:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

引用回帖:
3楼: Originally posted by greetrunners at 2013-01-30 19:08:17
应该如何定义?...

这...你自己知道吧?
起码函数的定义应该是

function ret_value = foo(input_value)
param1 = ...
param2 = ...
% then use param1 and param2 to calculate the others
...
end

你得先定义参数,然后使用,你的函数前面几行看着写的挺清楚,可是那是注释,你没有定义a2,a3....几乎所有要用的参数
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
4楼2013-01-30 20:43:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

greetrunners

金虫 (著名写手)

引用回帖:
2楼: Originally posted by libralibra at 2013-01-30 17:17:00
function obj=lsqfun3(t12,t21,t13,t31,t23,t32)
%t12,t21,t13,t31,t23,t32,是所需要关联的NRTL方程参数;
%a1,a2,a3,是组分1,2,3,液相平衡数据;
%y1,y2,y3,是组分1,2,3,气相平衡数据;
%ps1,ps2,ps3,是 ...

可以帮我修改一下吗?
努力!努力!努力!
5楼2013-01-31 12:14:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

greetrunners

金虫 (著名写手)

引用回帖:
2楼: Originally posted by libralibra at 2013-01-30 17:17:00
function obj=lsqfun3(t12,t21,t13,t31,t23,t32)
%t12,t21,t13,t31,t23,t32,是所需要关联的NRTL方程参数;
%a1,a2,a3,是组分1,2,3,液相平衡数据;
%y1,y2,y3,是组分1,2,3,气相平衡数据;
%ps1,ps2,ps3,是 ...

就是NRTL方程参数关联,k1,k2,---k9,是方程拆开的部分,
努力!努力!努力!
6楼2013-01-31 12:15:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 greetrunners 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 调剂 +7 不逢春 2026-04-05 8/400 2026-04-05 23:34 by 来看流星雨10
[考研] 生物与医药273求调剂 +5 荔题南墙 2026-04-05 5/250 2026-04-05 22:04 by imissbao
[考研] 复试调剂 +3 asdasdassda 2026-04-05 3/150 2026-04-05 17:26 by zhousanduo
[考研] 328分调剂 +6 门men 2026-04-04 6/300 2026-04-05 13:40 by imissbao
[考研] 295求调剂 +4 A你好研究生 2026-04-04 5/250 2026-04-04 22:46 by yu221
[考研] 考研调剂 +6 15615482637 2026-04-04 6/300 2026-04-04 22:43 by yu221
[考研] 306求调剂 +3 hyb上名工 2026-04-02 3/150 2026-04-04 18:12 by 热情沙漠
[考研] 求材料调剂,一志愿郑州大学289分 +15 硕星赴 2026-04-03 15/750 2026-04-04 01:01 by userper
[考研] 化学调剂求助 +6 LULONG1 2026-04-03 6/300 2026-04-03 23:13 by qzxyhcsy
[考研] 本科985,专业0812分336求调剂 +4 莫莫很行 2026-04-03 4/200 2026-04-03 21:31 by zhq0425
[考研] 293求调剂 +5 末未mm 2026-04-02 6/300 2026-04-03 15:20 by 王保杰33
[考研] 初试成绩337找调剂 +3 ??? ?. ? 2026-04-03 3/150 2026-04-03 11:43 by 土木硕士招生
[考研] 0703化学 +7 goldtt 2026-04-02 9/450 2026-04-03 09:36 by 蓝云思雨
[考研] 求调剂!生物与医药专硕 +4 逆转陆先生 2026-04-01 5/250 2026-04-03 08:33 by Jaylen.
[考研] 一志愿a区211,085601-307分求调剂 +13 党嘉豪 2026-03-31 26/1300 2026-04-03 08:33 by 495374996
[考研] 一志愿陕西师范大学生物学317分 +5 1563日。 2026-04-02 5/250 2026-04-03 06:58 by ilovexiaobin
[考研] 求调剂 +7 Aniyaio 2026-04-02 7/350 2026-04-02 16:42 by zzsw+
[考研] 能源动力 调剂 +3 不破不立0 2026-04-02 3/150 2026-04-02 12:46 by ffffjjjj
[考研] 0805求调剂 +8 是水分 2026-03-31 8/400 2026-04-02 10:46 by guanxin1001
[考研] 085410 一志愿211 22408分数359求调剂 +3 123456789qw 2026-03-31 4/200 2026-04-02 00:06 by 义文wang
信息提示
请填处理意见