24小时热门版块排行榜    

查看: 481  |  回复: 1

poetai

新虫 (小有名气)

[求助] matlab程序运行出错,哪位大神能帮忙解决下,谢谢了 已有1人参与

程序报错为:
??? Error using ==> d:/matlab/安装/toolbox/optim/private/lsqncommon
User supplied function failed with the following error:

Undefined variable 'exp' or class 'exp'.

Error in ==> D:\matlab\安装\toolbox\optim\lsqnonlin.m
On line 121  ==> [x,Resnorm,FVAL,EXITFLAG,OUTPUT,LAMBDA,JACOB] = ...

Error in ==> I:\m文件2\m文件\donglixue.m
On line 14  ==> [k,resnorm,residual,exitflag,output,lambda,jacobian] = lsqnonlin(@fy,k0,lb,ub,[],x0,y0,ts,tt);  



程序代码为
function donglixue
clc
clear all
k0=[10.^8 265000 10.^6 0 10.^6 210000 10.^6 36000 10.^6 185000 10.^6 195000 10.^6 100000 10.^6 220000 10.^6 55000 10.^6 180000 10.^6 220000 10.^6 235000 10.^6 286000 10.^6 300000 10.^6 200000 10^6 200000];%初值
lb=[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0];               % 简化把参数的范围均假设为0:10
ub=[10.^25 500000 10.^25 500000 10.^25 500000 10.^25 500000 10.^25 500000 10.^25 500000 10.^25 500000 10.^25 500000 10.^25 500000 10.^25 500000 10.^25 500000 10.^25 500000 10.^25 500000 10.^25 500000 10.^25 500000 10.^25 500000];
inlet;
x0=a;
outlet;
y0=y;
tt=[700 700 700 700 700 700 700 750 750 750 750 750 750 750 750 750 800 800 800 800 800 800 800 800 800 800 800 800 850 850 850 850 850 850 850 850 850 850 850 900 900 900 900 900 900 900 900 900];
tt=tt+273.15;%温度
ts=[10 15 20 25 30 35 40 8 9 10 15 20 25 30 35 40 4 5 6 7 8 9 10 15 20 25 30 35 4 5 6 7 8 9 10 15 20 25 30 4 5 6 7 8 9 10 15 20];
[k,resnorm,residual,exitflag,output,lambda,jacobian] = lsqnonlin(@fy,k0,lb,ub,[],x0,y0,ts,tt);  
save k;
ci = nlparci(k,residual,jacobian);%计算置信区间
fprintf('\n\n使用函数lsqnonlin()估计得到的参数值为:\n')
fprintf('\tk1 = %.4f ± %.4f\n',k(1),ci(1,2)-k(1))
fprintf('\tk2 = %.4f ± %.4f\n',k(2),ci(2,2)-k(2))
fprintf('\tk3 = %.4f ± %.4f\n',k(3),ci(3,2)-k(3))
fprintf('\tk4 = %.4f ± %.4f\n',k(4),ci(4,2)-k(4))
fprintf('\tk5 = %.4f ± %.4f\n',k(5),ci(5,2)-k(5))
fprintf('\tk6 = %.4f ± %.4f\n',k(6),ci(6,2)-k(6))
fprintf('\tk7 = %.4f ± %.4f\n',k(7),ci(7,2)-k(7))
fprintf('\tk8 = %.4f ± %.4f\n',k(8),ci(8,2)-k(8))
fprintf('\tk9 = %.4f ± %.4f\n',k(9),ci(9,2)-k(9))
fprintf('\tk10 = %.4f ± %.4f\n',k(10),ci(10,2)-k(10))
fprintf('\tk11 = %.4f ± %.4f\n',k(11),ci(11,2)-k(11))
fprintf('\tk12 = %.4f ± %.4f\n',k(12),ci(12,2)-k(12))
fprintf('\tk13 = %.4f ± %.4f\n',k(13),ci(13,2)-k(13))
fprintf('\tk14 = %.4f ± %.4f\n',k(14),ci(14,2)-k(14))
fprintf('\tk15 = %.4f ± %.4f\n',k(15),ci(15,2)-k(15))
fprintf('\tk16 = %.4f ± %.4f\n',k(16),ci(16,2)-k(16))
fprintf('\tk17 = %.4f ± %.4f\n',k(17),ci(17,2)-k(17))
fprintf('\tk18 = %.4f ± %.4f\n',k(18),ci(18,2)-k(18))
fprintf('\tk19 = %.4f ± %.4f\n',k(19),ci(19,2)-k(19))
fprintf('\tk20 = %.4f ± %.4f\n',k(20),ci(20,2)-k(20))
fprintf('\tk21 = %.4f ± %.4f\n',k(21),ci(21,2)-k(21))
fprintf('\tk22 = %.4f ± %.4f\n',k(22),ci(22,2)-k(22))
fprintf('\tk23 = %.4f ± %.4f\n',k(23),ci(23,2)-k(23))
fprintf('\tk24 = %.4f ± %.4f\n',k(24),ci(24,2)-k(24))
fprintf('\tk25 = %.4f ± %.4f\n',k(25),ci(25,2)-k(25))
fprintf('\tk26 = %.4f ± %.4f\n',k(26),ci(26,2)-k(26))
fprintf('\tk27 = %.4f ± %.4f\n',k(27),ci(27,2)-k(27))
fprintf('\tk28 = %.4f ± %.4f\n',k(28),ci(28,2)-k(28))
fprintf('\tk29 = %.4f ± %.4f\n',k(29),ci(29,2)-k(29))
fprintf('\tk30 = %.4f ± %.4f\n',k(30),ci(30,2)-k(30))
fprintf('\tk31 = %.4f ± %.4f\n',k(31),ci(31,2)-k(31))
fprintf('\tk32 = %.4f ± %.4f\n',k(32),ci(32,2)-k(32))

function f = fy(k,x0,y0,ts,tt)           
for i=1:48,
[t Xsim] = ode45(@g,[0,ts(i)],x0(i,,[],k,tt(i));
i
ysim(i,1) = Xsim(end,1);
ysim(i,2) = Xsim(end,2);
ysim(i,3) = Xsim(end,3);
ysim(i,4) = Xsim(end,4);
ysim(i,5) = Xsim(end,5);
ysim(i,6) = Xsim(end,6);
ysim(i,7) = Xsim(end,7);
ysim(i,8) = Xsim(end,8);
end;
f= [ysim(:,1)-y0(:,1) ;ysim(:,2)-y0(:,2);ysim(:,3)-y0(:,3);ysim(:,4)-y0(:,4);ysim(:,5)-y0(:,5);ysim(:,6)-y0(:,6);ysim(:,7)-y0(:,7);ysim(:,8)-y0(:,8)];

function dCdt =g(t,C,k,tt)              % ODE模型
dCAdt=-k(1).*exp(-k(2)./8.314./tt).C(1)
dCBdt=k(3).*exp(-k(4)./8.314./tt).*((((k(7).*exp(-k(8)./8.314./tt).C(2)).^2+4.*k(1).*exp(-k(2)./8.314./tt).*k(3).*exp(-k(4)./8.314./tt).C(1)+4.*k(3).*exp(-k(4)./8.314./tt).*k(5).*exp(-k(6)./8.314./tt).C(2)).^0.5-k(7).*exp(-k(8)./8.314./tt).*C(2))./(2.*k(3).*exp(-k(4)./8.314./tt))).^2-k(7).*exp(-k(8)./8.314./tt).*C(2).*((((k(7).*exp(-k(8)./8.314./tt).C(2)).^2+4.*k(1).*exp(-k(2)./8.314./tt).*k(3).*exp(-k(4)./8.314./tt).C(1)+4.*k(3).*exp(-k(4)./8.314./tt).*k(5).*exp(-k(6)./8.314./tt).C(2)).^0.5-k(7).*exp(-k(8)./8.314./tt).*C(2))./(2.*k(3).*exp(-k(4)./8.314./tt)))+k(9).*exp(-k(10)./8.314./tt).*(k(7).*exp(-k(8)./8.314./tt)./(k(11).*exp(-k(12)./8.314./tt)).*C(2).*((((k(7).*exp(-k(8)./8.314./tt).C(2)).^2+4.*k(1).*exp(-k(2)./8.314./tt).*k(3).*exp(-k(4)./8.314./tt).C(1)+4.*k(3).*exp(-k(4)./8.314./tt).*k(5).*exp(-k(6)./8.314./tt).C(2)).^0.5-k(7).*exp(-k(8)./8.314./tt).*C(2))./(2.*k(3).*exp(-k(4)./8.314./tt))))-(k(13).*exp(-k(14)./8.314./tt)+k(17).*exp(-k(18)./8.314./tt)+k(21).*exp(-k(22)./8.314./tt)+k(27).*exp(-k(28)./8.314./tt)).*(C(2)).^2-(k(5).*exp(-k(6)./8.314./tt)+k(29).*exp(-k(30)./8.314./tt)).*C(2)+k(15).*exp(-k(16)./8.314./tt).*C(4)+k(19).*exp(-k(20)./8.314./tt).*C(5)+k(23).*exp(-k(24)./8.314./tt).*C(6)
dCCdt=k(11).*exp(-k(12)./8.314./tt).*( k(7).*exp(-k(8)./8.314./tt)./(k(11).*exp(-k(12)./8.314./tt)).*C(2).*((((k(7).*exp(-k(8)./8.314./tt).C(2)).^2+4.*k(1).*exp(-k(2)./8.314./tt).*k(3).*exp(-k(4)./8.314./tt).C(1)+4.*k(3).*exp(-k(4)./8.314./tt).*k(5).*exp(-k(6)./8.314./tt).C(2)).^0.5-k(7).*exp(-k(8)./8.314./tt).*C(2))./(2.*k(3).*exp(-k(4)./8.314./tt))))-k(31).*exp(-k(32)./8.314./tt).*C(3)
dCDdt=k(13).*exp(-k(14)./8.314./tt).*(C(2)).^2-k(15).*exp(-k(16)./8.314./tt).*C(4)
dCEdt=k(17).*exp(-k(18)./8.314./tt).*(C(2)).^2-k(19).*exp(-k(20)./8.314./tt).*C(5)
dCFdt=k(21).*exp(-k(22)./8.314./tt).*(C(2)).^2-(k(23).*exp(-k(24)./8.314./tt)+k(25).*exp(-k(26)./8.314./tt)).*C(6)
dCGdt=k(25).*exp(-k(26)./8.314./tt).*C(6)
dCHdt=k(27).*exp(-k(28)./8.314./tt).*(C(2)).^2
dCdt = [dCAdt;dCBdt; dCCdt;dCDdt;dCEdt; dCFdt;dCGdt;dCHdt];


附:inlet文件数据为:
0.01252  0   0   0   0   0   0   0
   0.01252  0   0   0   0   0   0   0
   0.01252  0   0   0   0   0   0   0
   0.01252  0   0   0   0   0   0   0
   0.01252  0   0   0   0   0   0   0
   0.01252  0   0   0   0   0   0   0
   0.01252  0   0   0   0   0   0   0
   0.01191  0   0   0   0   0   0   0
   0.01191  0   0   0   0   0   0   0
   0.01191  0   0   0   0   0   0   0
   0.01191  0   0   0   0   0   0   0
   0.01191  0   0   0   0   0   0   0
   0.01191  0   0   0   0   0   0   0
   0.01191  0   0   0   0   0   0   0
   0.01191  0   0   0   0   0   0   0
   0.01191  0   0   0   0   0   0   0
   0.01135  0   0   0   0   0   0   0
   0.01135  0   0   0   0   0   0   0
   0.01135  0   0   0   0   0   0   0
   0.01135  0   0   0   0   0   0   0
   0.01135  0   0   0   0   0   0   0
   0.01135  0   0   0   0   0   0   0
   0.01135  0   0   0   0   0   0   0
   0.01135  0   0   0   0   0   0   0
   0.01135  0   0   0   0   0   0   0
   0.01135  0   0   0   0   0   0   0
   0.01135  0   0   0   0   0   0   0
   0.01135  0   0   0   0   0   0   0
   0.01085  0   0   0   0   0   0   0
   0.01085  0   0   0   0   0   0   0
   0.01085  0   0   0   0   0   0   0
   0.01085  0   0   0   0   0   0   0
   0.01085  0   0   0   0   0   0   0
   0.01085  0   0   0   0   0   0   0
   0.01085  0   0   0   0   0   0   0
   0.01085  0   0   0   0   0   0   0
   0.01085  0   0   0   0   0   0   0
   0.01085  0   0   0   0   0   0   0
   0.01085  0   0   0   0   0   0   0
   0.01039  0   0   0   0   0   0   0
   0.01039  0   0   0   0   0   0   0
   0.01039  0   0   0   0   0   0   0
   0.01039  0   0   0   0   0   0   0
   0.01039  0   0   0   0   0   0   0
   0.01039  0   0   0   0   0   0   0
   0.01039  0   0   0   0   0   0   0
   0.01039  0   0   0   0   0   0   0
   0.01039  0   0   0   0   0   0   0


outlet文件数据为:
   0.01152  0.000054  0.000009      0            0      0.00000024       0        0.00000063      
   0.01127  0.000090  0.000024      0            0      0.00000053       0        0.00000135
   0.01102  0.000115  0.000035  0.00000022       0      0.00000093       0        0.00000199
   0.01064  0.000161  0.000058  0.00000029       0      0.00000126       0        0.00000305
   0.01047  0.000178  0.000065  0.00000035       0      0.00000140       0        0.00000338
   0.01037  0.000199  0.000078  0.00000041       0      0.00000148       0        0.00000371
   0.01027  0.000207  0.000138  0.00000061  0.00000029  0.00000180       0        0.00000434
   0.01048  0.000242  0.000039  0.00000019       0      0.00000040       0        0.00000214
   0.01024  0.000287  0.000047  0.00000028       0      0.00000049       0        0.00000271
   0.00993  0.000341  0.000062  0.00000032       0      0.00000065       0        0.00000371
   0.00930  0.000394  0.000146  0.00000101  0.00000048  0.00000104       0        0.00000855
   0.00877  0.000436  0.000267  0.00000124  0.00000097  0.00000185       0        0.00001318
   0.00850  0.000449  0.000327  0.00000190  0.00000116  0.00000211       0        0.00001730
   0.00806  0.000433  0.000396  0.00000229  0.00000222  0.00000263       0        0.00002734
   0.00774  0.000404  0.000508  0.00000457  0.00000333  0.00000426       0        0.00003491
   0.00738  0.000379  0.000543  0.00000490  0.00000369  0.00000462       0        0.00003767
   0.00981  0.000268  0.000085  0.00000043  0.00000022  0.00000053       0        0.00000432
   0.00954  0.000355  0.000111  0.00000056  0.00000030  0.00000063       0        0.00000540
   0.00884  0.000391  0.000167  0.00000086  0.00000045  0.00000101       0        0.00000906            
   0.00823  0.000453  0.000210  0.00000127  0.00000073  0.00000137  0.0000000057  0.00001225
   0.00795  0.000473  0.000321  0.00000255  0.00000147  0.00000156  0.0000000078  0.00002205
   0.00730  0.000487  0.000401  0.00000304  0.00000185  0.00000204  0.0000000095  0.00002678
   0.00715  0.000470  0.000418  0.00000316  0.00000207  0.00000217  0.0000000103  0.00003046
   0.00568  0.000350  0.000736  0.00000446  0.00000478  0.00000315  0.0000000275  0.00007252
   0.00556  0.000321  0.000762  0.00000766  0.00000521  0.00000324  0.0000000536  0.00007412
   0.00432  0.000209  0.001030  0.00000967  0.00000890  0.00000405  0.0000001101  0.00015074
   0.00375  0.000190  0.001180  0.00001506  0.00001036  0.00000477  0.0000001394  0.00018713
   0.00341  0.000125  0.001270  0.00001770  0.00001174  0.00000467  0.0000003199  0.00022392
   0.00735  0.000346  0.000533  0.00000794  0.00000312  0.00000384  0.0000001146  0.00006844
   0.00607  0.000320  0.000772  0.00001154  0.00000428  0.00000399  0.0000002307  0.00011369
   0.00554  0.000294  0.000899  0.00001375  0.00000476  0.00000426  0.0000002600  0.00012936
   0.00514  0.000271  0.000978  0.00001602  0.00000527  0.00000455  0.0000003199  0.00014022
   0.00393  0.000257  0.001240  0.00002031  0.00000673  0.00000443  0.0000005172  0.00018370
   0.00349  0.000231  0.001310  0.00002492  0.00000811  0.00000272  0.0000009618  0.00022234
   0.00267  0.000136  0.001460  0.00003121  0.00000967  0.00000249  0.0000010772  0.00031234
   0.00177  0.000056  0.001430  0.00003611  0.00001136      0       0.0000013565  0.00046162
   0.00108  0.000050  0.001290  0.00004723  0.00001562      0       0.0000022602  0.00050502
   0.00087  0.000028  0.001200  0.00005063  0.00001809      0       0.0000023704  0.00052198
   0.00076  0.000022  0.001100  0.00005259  0.00001904      0       0.0000037581  0.00059726
   0.00557  0.000373  0.000766  0.00001488  0.00000462  0.00000253  0.0000003695  0.00013542
   0.00387  0.000301  0.001090  0.00002237  0.00000640  0.00000215  0.0000008976  0.00021194
   0.00340  0.000256  0.001200  0.00002575  0.00000693  0.00000210  0.0000010288  0.00023772
   0.00279  0.000197  0.001320  0.00003301  0.00000782      0       0.0000014180  0.00028379
   0.00201  0.000112  0.001380  0.00004151  0.00000748      0       0.0000020106  0.00039771
   0.00145  0.000041  0.001350  0.00005364  0.00000717      0       0.0000048232  0.00058750
   0.00125  0.000040  0.001330  0.00005539  0.00000715      0       0.0000055295  0.00063292
   0.00076  0.000010  0.000957  0.00005570  0.00000623      0       0.0000097690  0.00090544
   0.00062  0.000005  0.000763  0.00005248  0.00000569      0       0.0000113981  0.00106
回复此楼

» 猜你喜欢

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

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

dota

木虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
dCBdt, dCCdt, 等语句太长了,用 " ... " 续接一下,分成多行,就会好的。
2楼2014-08-19 11:43:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 poetai 的主题更新
信息提示
请填处理意见