Solving is taking infinite time

조회 수: 13 (최근 30일)
Anthony Bou Shaheen
Anthony Bou Shaheen 2021년 4월 10일
답변: VBBV 2021년 4월 10일
Hello all, so i have a 59 equations linear system for my heat lab where i need to find temperature so for this reason i wrote the equation and used equations to matrix and linsolve. Even though with everybody in class the code works in mine there are no errors but it keeps on running for infinite time without showing anything. If you can helo or point me in some direction it will be appreciated.
k=18; dx=0.01; dy=0.01; h=500; dr=0.01; ri= 0.035; ro=0.0015;r1 = 0.025;
T_inf = 100;
DFI=pi/12;
T3=0; T6 = 0; T9 = 0; T12 = 0; T15=0; T18=0;
T30=0; T27=0; T24=0 ; T21 = 0;
syms T1 T2 T5 T8 T11 T14 T1 T4 T7 T10 T13 T33 T36 T39 T42 T45 T48 T51 T17 T20 T23 T26 T29 T32 T35 T38 T41 T44 T47 T50 T16 T19 T22 T25 T28 T31 T34 T37 T40 T43 T46 T49 T54 T57 T60 T63 T53 T56 T59 T62 T52 T55 T58 T61 q1 q2 q3 q4 q5 q6 ;
eq1 = 0.5*(T1-T2) + 0.5*(T3-T2) + (T5-T2) ==0;
eq2 = (T4-T5) + (T6-T5) + (T8-T5)+(T2-T5)==0;
eq3 = (T7-T8)+ (T9-T8)+(T11-T8) + (T5-T8)==0;
eq4= (T10-T11)+ (T12-T11)+ (T14-T11)+ (T8-T11)==0;
eq5 =0.5*(T13-T14)+0.5*(T15-T14)-q2 +(T11-T14) ==0;
eq6 = 0.5*(T2-T1) +0.5*(T4-T1)+h*dx*(T_inf-T1)==0;
eq7 = (T5-T4)+0.5*(T7-T4)+0.5*(T1-T4)+h*dx*0.5*(T_inf-T4)==0;
eq8 = (T8-T7)+0.5*(T10-T7)+0.5*(T4-T7) + h*dx*0.5*(T_inf-T7)==0;
eq9 = (T11-T10)+(T13-T10)+(T7-T10) + h*dx*(T_inf-T10) ==0;
eq10= 0.5*(T14-T13)+0.5*(T10-T13)+ h*dx*0.5*(T_inf-T13)-q3 ==0;
eq11 = (dr/(2*ri*DFI))*(T18-T15) +(ri*DFI/(2*dr))*(T14-T15)-q1 ==0;
eq12 = (dr/(2*ri*DFI))*(T36-T33)+(dr/(2*ri*DFI))*(T30-T33)+(ri*DFI/2*dr)*(T32-T33) ==0;
eq13 = (dr/(ri*DFI))*(T39-T36)+(dr/(ri*DFI))*(T33-T36)+(ri*DFI/2*dr)*(T35-T36) == 0;
eq14 = (dr/(ri*DFI))*(T42-T39)+(dr/(ri*DFI))*(T36-T39)+(ri*DFI/2*dr)*(T38-T39) ==0;
eq15 = (dr/(ri*DFI))*(T45-T42)+(dr/(ri*DFI))*(T39-T42)+(ri*DFI/2*dr)*(T41-T42) ==0;
eq16 = (dr/(ri*DFI))*(T48-T45)+(dr/(ri*DFI))*(T42-T45)+(ri*DFI/2*dr)*(T44-T45)==0;
eq17 = (dr/(ri*DFI))*(T51-T48)+(dr/(ri*DFI))*(T45-T48)+(ri*DFI/2*dr)*(T47-T48) ==0;
eq18 = (dr/(2*ri*DFI))*(T48-T51)+(ri*DFI/2*dr)*(T50-T51)+q1 ==0;
eq19 = (dr/(2*r1*DFI))*(T17-T14)+(r1*DFI/dr)*(T13-T14)+ (r1*DFI/2*dr)*(T15-T14)+q2 ==0;
eq20 = (dr/(r1*DFI))*(T20-T17)+(dr/(r1*DFI))*(T14-T17)+((r1*DFI)/dr)*(T16-T17)+(r1*DFI/dr)*(T18-T17) ==0;
eq21 = (dr/(r1*DFI))*(T23-T20)+(dr/(r1*DFI))*(T17-T20)+((r1*DFI)/dr)*(T19-T20)+(r1*DFI/dr)*(T21-T20) ==0;
eq22 = (dr/(r1*DFI))*(T26-T23)+(dr/(r1*DFI))*(T20-T23)+((r1*DFI)/dr)*(T22-T23)+(r1*DFI/dr)*(T24-T23) ==0;
eq23 = (dr/(r1*DFI))*(T29-T26)+(dr/(r1*DFI))*(T23-T26)+((r1*DFI)/dr)*(T25-T26)+(r1*DFI/dr)*(T27-T26) ==0;
eq24 = (dr/(r1*DFI))*(T32-T29)+(dr/(r1*DFI))*(T26-T29)+((r1*DFI)/dr)*(T28-T29)+(r1*DFI/dr)*(T30-T29) ==0;
eq25 = (dr/(r1*DFI))*(T35-T32)+(dr/(r1*DFI))*(T29-T32)+((r1*DFI)/dr)*(T31-T32)+(r1*DFI/dr)*(T33-T32)==0;
eq26 = (dr/(r1*DFI))*(T38-T35)+(dr/(r1*DFI))*(T32-T35)+((r1*DFI)/dr)*(T34-T35)+(r1*DFI/dr)*(T36-T35)==0;
eq27 = (dr/(r1*DFI))*(T41-T38)+(dr/(r1*DFI))*(T35-T38)+((r1*DFI)/dr)*(T37-T38)+(r1*DFI/dr)*(T39-T38) ==0;
eq28 = (dr/(r1*DFI))*(T44-T41)+(dr/(r1*DFI))*(T38-T41)+((r1*DFI)/dr)*(T40-T41)+(r1*DFI/dr)*(T42-T41) ==0;
eq29 = (dr/(r1*DFI))*(T47-T44)+(dr/(r1*DFI))*(T41-T44)+((r1*DFI)/dr)*(T43-T44)+(r1*DFI/dr)*(T45-T44) ==0;
eq30 = (dr/(r1*DFI))*(T50-T47)+(dr/(r1*DFI))*(T44-T47)+((r1*DFI)/dr)*(T45-T47)+(r1*DFI/dr)*(T48-T47)==0;
eq31 = -q2 +(dr/(2*r1*DFI))*(T47-T50)+((r1*DFI)/dr)*(T49-T50)+(r1*DFI/dr)*(T51-T50) ==0;
eq32 = (dr/(2*ro*DFI))*(T16-T13)+q3+((ro*DFI)/dr)*(T14-T13)+h*ro*DFI/2*(T_inf-T13) ==0;
eq33 = (dr/(2*ro*DFI))*(T19-T16)+(dr/(2*ro*DFI))*(T13-T16)+((ro*DFI)/dr)*(T17-T16)+h*ro*DFI/2*(T_inf-T16) ==0;
eq34 = (dr/(2*ro*DFI))*(T22-T19)+(dr/(2*ro*DFI))*(T16-T19)+((ro*DFI)/dr)*(T20-T19)+h*ro*DFI/2*(T_inf-T19) ==0;
eq35 = (dr/(2*ro*DFI))*(T25-T22)+(dr/(2*ro*DFI))*(T19-T22)+((ro*DFI)/dr)*(T23-T22)+h*ro*DFI/2*(T_inf-T22) ==0;
eq36 = (dr/2*ro*DFI)*(T28-T25)+(dr/(2*ro*DFI))*(T22-T25)+((ro*DFI)/dr)*(T26-T25)+h*ro*DFI/2*(T_inf-T25) ==0 ;
eq37= (dr/(2*ro*DFI))*(T31-T28)+(dr/(2*ro*DFI))*(T25-T28)+((ro*DFI)/dr)*(T29-T28)+h*ro*DFI/2*(T_inf-T28) ==0 ;
eq38= (dr/(2*ro*DFI))*(T34-T31)+(dr/(2*ro*DFI))*(T28-T31)+((ro*DFI)/dr)*(T32-T31)+h*ro*DFI/2*(T_inf-T31) ==0 ;
eq39= (dr/(2*ro*DFI))*(T37-T34)+(dr/(2*ro*DFI))*(T31-T34)+((ro*DFI)/dr)*(T35-T34)+h*ro*DFI/2*(T_inf-T34) ==0 ;
eq40= (dr/(2*ro*DFI))*(T40-T37)+(dr/(2*ro*DFI))*(T34-T37)+((ro*DFI)/dr)*(T38-T37)+h*ro*DFI/2*(T_inf-T37)==0 ;
eq41= (dr/(2*ro*DFI))*(T43-T40)+(dr/(2*ro*DFI))*(T37-T40)+((ro*DFI)/dr)*(T41-T40)+h*ro*DFI/2*(T_inf-T40) ==0;
eq42= (dr/(2*ro*DFI))*(T46-T43)+(dr/(2*ro*DFI))*(T40-T43)+((ro*DFI)/dr)*(T44-T43)+h*ro*DFI/2*(T_inf-T43)==0;
eq43= (dr/(2*ro*DFI))*(T49-T46)+(dr/(2*ro*DFI))*(T43-T46)+((ro*DFI)/dr)*(T47-T46)+h*ro*DFI/2*(T_inf-T46) ==0 ;
eq44 = -q3+(dr/(2*ro*DFI))*(T43-T49)+((ro*DFI)/dr)*(T50-T49)+h*ro*DFI/2*(T_inf-T49) ==0;
eq45 = 0.5*(T50-T51)+ (T54-T51) + q4 ==0;
eq46 = (T53-T54) + 0.5*(T57-T54)+0.5*(T51-T54)==0;
eq47 = (T56-T57)+0.5*(T60-T57)+0.5*(T54-T57) ==0;
eq48 = (T59-T60)+ 0.5*(T63-T60) +0.5*(T57-T60) ==0;
eq49 = 0.5*(T62-T63) + 0.5*(T60-T63) ==0;
eq50 = 0.5*(T51-T50) + 0.5*(T49-T50)+ 0.5*(T53-T50)+ q5 ==0;
eq51 = (T54-T53) +(T52-T53)+(T56-T53) + (T50-T53)==0;
eq52 = (T57-T56)+ (T55-T56)+(T59-T56)+(T53-T56)==0;
eq53 = (T60-T59) +(T56-T59)+(T62-T59)+ (T56-T59)==0;
eq54 = 0.5*(T61-T62)+0.5*(T59-T62) +(T63-T62) ==0;
eq55 = 0.5*(T50-T49)+ 0.5*(T52-T49)+q6+h*dx*0.5*(T_inf - T49)==0;
eq56 = (T53-T52)+ 0.5*(T55-T52)+ 0.5*(T49-T52) + h*dx*(T_inf - T52)==0;
eq57 = (T54-T55)+ 0.5*(T58-T55)+ 0.5*(T52-T55) + h*dx*(T_inf - T55) ==0;
eq58 = (T59-T58)+ 0.5*(T61-T58)+ 0.5*(T55-T58) + h*dx*(T_inf - T58) ==0;
eq59 = 0.5*(T62-T61)+0.5*(T58-T61) + h*dx*0.5*(T_inf - T61) ==0;
[A,B] = equationsToMatrix([eq1,eq2,eq3,eq4,eq5, eq6, eq7, eq8, eq9, eq10,eq11,eq12, eq13, eq14, eq15, eq16, eq17, eq18, eq19, eq20, eq21 eq22,eq23,eq24,eq25, eq26 ,eq27, eq28, eq29, eq30, eq31, eq32, eq33,eq34,eq35,eq36,eq37, eq38,eq39,eq40,eq41, eq42, eq43, eq44, eq45, eq46, eq47, eq48, eq49, eq50, eq51, eq52,eq53, eq54, eq55, eq56,eq57,eq58,eq59],[ T2 T5 T8 T11 T14 T1 T4 T7 T10 T13 T33 T36 T39 T42 T45 T48 T51 T17 T20 T23 T26 T29 T32 T35 T38 T41 T44 T47 T50 T16 T19 T22 T25 T28 T31 T34 T37 T40 T43 T46 T49 T54 T57 T60 T63 T53 T56 T59 T62 T52 T55 T58 T61 q1 q2 q3 q4 q5 q6]);
X = linsolve(A,B);
for x=X
double(x)
end

채택된 답변

VBBV
VBBV 2021년 4월 10일
%if true
for x=1:numel(X)
double(X(x))
end

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Mathematics and Optimization에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by