error message when trying ot integrate

조회 수: 2 (최근 30일)
Rodrigo Blas
Rodrigo Blas 2020년 4월 23일
댓글: Rodrigo Blas 2020년 4월 23일
To = 27 + 273.15; % C
vo = 2; % dm^3/s
cao = 0.1; % mol/dm^3
k1 = .01; % dm^3/mol*s
tha = 1;
thb = 1;
ha = -20000; hb=-15000; hc=-41000; % cal/mol
cpc = 30;cpa=15;cpb=15; % cal/mol*k
sumtcp = tha*cpa+thb*cpb;
delcp = cpc-cpb-cpa;
dhrx = hc-hb-ha;
E = 10000; % cal/mol
R = 1.987; % cal/mol*k
x1 = .85;
ca = cao*(1-x);
cb = cao*(1-x);
cc = cao*x;
fao = cao*vo;
%%CSTR VOLUME
T = To+(-dhrx)*x/((sumtcp)+delcp*x) ;
k = k1*exp(E/R*(1/To-1/T));
ra = -(k*(cao)^2*(1-x)^2);
vcstr = fao*x/(-ra);
%%PFR Vol
fun = @(x) fao/(-ra);
>> vpfr=integral(fun,0,x1)
Error using integralCalc/finalInputChecks (line 526)
Output of the function must be the same size as the
input. If FUN is an array-valued integrand, set the
'ArrayValued' option to true.
Error in integralCalc/iterateScalarValued (line 315)
finalInputChecks(x,fx);
Error in integralCalc/vadapt (line 132)
[q,errbnd] =
iterateScalarValued(u,tinterval,pathlen);
Error in integralCalc (line 75)
[q,errbnd] =
vadapt(@AtoBInvTransform,interval);
Error in integral (line 88)
Q = integralCalc(fun,a,b,opstruct);
>>
I keep getting this error message. Not sure how to fix
  댓글 수: 12
darova
darova 2020년 4월 23일
Everywhere should be @(x)
Rodrigo Blas
Rodrigo Blas 2020년 4월 23일
To=27+273.15; %%C
vo=2; %%dm^3/s
cao=0.1; %%mol/dm^3
k1=.01; %%dm^3/mol*s
tha=1;thb=1;
ha=-20000; hb=-15000; hc=-41000; %%cal/mol
cpc=30;cpa=15;cpb=15; %%cal/mol*k
sumtcp=tha*cpa+thb*cpb;
delcp=cpc-cpb-cpa;
dhrx=hc-hb-ha;
E=10000; %%cal/mol
R=1.987; %%cal/mol*k
x1=0.85;
ca=@(x) cao*(1-x);
cb=@(x) cao*(1-x);
cc=cao*x;
fao=cao*vo;
%%CSTR VOLUME
T=@(x) To+(-dhrx)*x/(sumtcp+delcp*x) ;
k=@(x) k1*exp(E/R*(1/To-1/T));
ra=@(x) -(k*ca*cb);
%%vcstr=fao*x/(-ra);%%
%%PFR Vol
f=@(x) fao./(-ra(x));
vpfr=integral(f,0,x1);
>> Jallohw9p6
Undefined operator '*' for input arguments of type
'function_handle'.
Error in Jallohw9p6>@(x)-(k*ca*cb)
Maybe make the part I want to integrate into a seperate function?
Would that be easier?

댓글을 달려면 로그인하십시오.

채택된 답변

Ameer Hamza
Ameer Hamza 2020년 4월 23일
Try this code and compare it with your code to see the issues.
To=27+273.15; %%C
vo=2; %%dm^3/s
cao=0.1; %%mol/dm^3
k1=.01; %%dm^3/mol*s
tha=1;thb=1;
ha=-20000; hb=-15000; hc=-41000; %%cal/mol
cpc=30;cpa=15;cpb=15; %%cal/mol*k
sumtcp=tha*cpa+thb*cpb;
delcp=cpc-cpb-cpa;
dhrx=hc-hb-ha;
E=10000; %%cal/mol
R=1.987; %%cal/mol*k
x1=0.85;
ca=@(x) cao*(1-x);
cb=@(x) cao*(1-x);
% cc=cao*x;
fao=cao*vo;
%%CSTR VOLUME
T=@(x) To+(-dhrx)*x/(sumtcp+delcp*x) ;
k=@(x) k1*exp(E/R*(1/To-1/T(x)));
ra=@(x) -(k(x).*ca(x).*cb(x));
%%vcstr=fao*x/(-ra);%%
%%PFR Vol
f=@(x) fao./(-ra(x));
vpfr=integral(f,0,x1);

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Matrix Computations에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by