۱۳۹۴/۱۲/۱۲, ۱۱:۴۸ ق.ظ
سلام دوستان
من برای حل 12 تا معادله دیفرانسیل مرتبه 1 معمولی یک تابع نوشتم ،چندین بار هم تمام روابط را چک کردم منتها هر بارهمین اررور را می دهد،از دوستان کسی می دونه مشکل از کدوم قسمتش می باشد؟ خیلی ممنون
function df = deriv(t,f,u)
T10=300; T20=300; F10=5; F20=10; Fr=1.9; Fp=0; F1=4.99;% selected by myself
CA10=4; CA20=3; V1=1; V2=0.5; V3=1; F2=9.99;% selected by myself
E1=5*10^4; E2=5.5*10^4; K1=3*10^6; K2=3*10^6;
deltaH1=-5*10^4; deltaH2=-5.3*10^4; Hvap=5; CP=0.231; R=8.314; ROO=1000;
alphaA=2; alphaB=1; alphaC=1.5; alphaD=3; MWA=50; MWB=50; MWC=50; MWD=18;
Q1=3*10^5; Q2=3*10^5; Q3=3*10^5;
XD=1-((MWA*f(10))/ROO)-((MWB*f(11))/ROO)-((MWC*f(12))/ROO);
K=((alphaA*f(10))*MWA/ROO)+((alphaB*f(11))*MWB/ROO)+((alphaC*f(12))*MWC/ROO)+(alphaD*XD*ROO);
CAr=(alphaA*f(10))/K;
CBr=(alphaB*f(11))/K;
CCr=(alphaC*f(12))/K;
Frm=(Fr/MWD)*(((ROO-f(10)*MWA-f(11)*MWB-f(12)*MWC)+(f(10)+f(11)+f(12))*MWD));
df = zeros (12,1);
df(1,1) = (F10/V1)*(T10-f(1))+(Fr/V1)*(f(9)-f(1))-(deltaH1/(ROO*CP))*K1*((exp(-E1/(R*f(1)))*f(2)))-((deltaH2/(ROO*CP))*K2*(exp(-E2/(R*f(1)))*f(2)))+(Q1/(ROO*CP*V1));
df(2,1) = (F10/V1)*(CA10-f(2))+(Fr/V1)*(CAr-f(2))-(K1*(exp(-E1/R*f(1)))*f(2))- K2*(exp(-E2/(R*f(1)))*f(2));
df(3,1) = (-F10/V1)*f(3)+(Fr/V1)*(CBr-f(3))+(K1*exp(-E1/(R*f(1)))*f(2));
df(4,1) = (-F10/V1)*f(4)+(Fr/V1)*(CCr-f(4))+(K2*exp(-E2/(R*f(1)))*f(2));
df(5,1) = (F1/V2)*(f(1)-f(5))+(F20/V2)*(T20-f(5))+((-deltaH1/(ROO*CP))*K1*(exp(-E1/R*f(5)))*f(6))+((-deltaH2/(ROO*CP))*K2*(exp(-E2/(R*f(5)))*f(6)))+(Q2/(ROO*CP*V2));
df(6,1) = (F1/V2)*(f(2)-f(6))+(F20/V2)*(CA20-f(6))-(K1*(exp(-E1/(R*f(5)))*f(6))-K2*(exp(-E2/R*f(5)))*f(6));
df(7,1) = (F1/V2)*(f(3)-f(7))-((F20/V2)*f(7))+(K1*exp(-E1/(R*f(5)))*f(6));
df(8,1) = (F1/V2)*(f(4)-f(8))-((F20/V2)*f(8))+(K2*(exp(-E2/R*f(5)))*f(6));
df(9,1) = (F2/V3)*(f(5)-f(9))-((Hvap*Frm)/(ROO*CP*V3))+(Q3/(ROO*CP*V3));
df(10,1) = (F2/V3)*(f(6)-f(10))-(Fr/V3)*(CAr-f(10));
df(11,1) = (F2/V3)*(f(7)-f(11))-(Fr/V3)*(CBr-f(11));
df(12,1) = (F2/V3)*(f(8)-f(12))-(Fr/V3)*(CCr-f(12));
end
من برای حل 12 تا معادله دیفرانسیل مرتبه 1 معمولی یک تابع نوشتم ،چندین بار هم تمام روابط را چک کردم منتها هر بارهمین اررور را می دهد،از دوستان کسی می دونه مشکل از کدوم قسمتش می باشد؟ خیلی ممنون
function df = deriv(t,f,u)
T10=300; T20=300; F10=5; F20=10; Fr=1.9; Fp=0; F1=4.99;% selected by myself
CA10=4; CA20=3; V1=1; V2=0.5; V3=1; F2=9.99;% selected by myself
E1=5*10^4; E2=5.5*10^4; K1=3*10^6; K2=3*10^6;
deltaH1=-5*10^4; deltaH2=-5.3*10^4; Hvap=5; CP=0.231; R=8.314; ROO=1000;
alphaA=2; alphaB=1; alphaC=1.5; alphaD=3; MWA=50; MWB=50; MWC=50; MWD=18;
Q1=3*10^5; Q2=3*10^5; Q3=3*10^5;
XD=1-((MWA*f(10))/ROO)-((MWB*f(11))/ROO)-((MWC*f(12))/ROO);
K=((alphaA*f(10))*MWA/ROO)+((alphaB*f(11))*MWB/ROO)+((alphaC*f(12))*MWC/ROO)+(alphaD*XD*ROO);
CAr=(alphaA*f(10))/K;
CBr=(alphaB*f(11))/K;
CCr=(alphaC*f(12))/K;
Frm=(Fr/MWD)*(((ROO-f(10)*MWA-f(11)*MWB-f(12)*MWC)+(f(10)+f(11)+f(12))*MWD));
df = zeros (12,1);
df(1,1) = (F10/V1)*(T10-f(1))+(Fr/V1)*(f(9)-f(1))-(deltaH1/(ROO*CP))*K1*((exp(-E1/(R*f(1)))*f(2)))-((deltaH2/(ROO*CP))*K2*(exp(-E2/(R*f(1)))*f(2)))+(Q1/(ROO*CP*V1));
df(2,1) = (F10/V1)*(CA10-f(2))+(Fr/V1)*(CAr-f(2))-(K1*(exp(-E1/R*f(1)))*f(2))- K2*(exp(-E2/(R*f(1)))*f(2));
df(3,1) = (-F10/V1)*f(3)+(Fr/V1)*(CBr-f(3))+(K1*exp(-E1/(R*f(1)))*f(2));
df(4,1) = (-F10/V1)*f(4)+(Fr/V1)*(CCr-f(4))+(K2*exp(-E2/(R*f(1)))*f(2));
df(5,1) = (F1/V2)*(f(1)-f(5))+(F20/V2)*(T20-f(5))+((-deltaH1/(ROO*CP))*K1*(exp(-E1/R*f(5)))*f(6))+((-deltaH2/(ROO*CP))*K2*(exp(-E2/(R*f(5)))*f(6)))+(Q2/(ROO*CP*V2));
df(6,1) = (F1/V2)*(f(2)-f(6))+(F20/V2)*(CA20-f(6))-(K1*(exp(-E1/(R*f(5)))*f(6))-K2*(exp(-E2/R*f(5)))*f(6));
df(7,1) = (F1/V2)*(f(3)-f(7))-((F20/V2)*f(7))+(K1*exp(-E1/(R*f(5)))*f(6));
df(8,1) = (F1/V2)*(f(4)-f(8))-((F20/V2)*f(8))+(K2*(exp(-E2/R*f(5)))*f(6));
df(9,1) = (F2/V3)*(f(5)-f(9))-((Hvap*Frm)/(ROO*CP*V3))+(Q3/(ROO*CP*V3));
df(10,1) = (F2/V3)*(f(6)-f(10))-(Fr/V3)*(CAr-f(10));
df(11,1) = (F2/V3)*(f(7)-f(11))-(Fr/V3)*(CBr-f(11));
df(12,1) = (F2/V3)*(f(8)-f(12))-(Fr/V3)*(CCr-f(12));
end