Error using sym/subsindex (line 796)
7 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
t1 = 588; %k
do = 3.5; % in
di = 3.0; % in
kp = 21.6; %W/(m*K)
ta = 294; % K
ts = 255.4; %k
h = 48.3; %W/(m^2*K)
deltar = 1; % in of calcium silicate insulation
e = .76;
at = pi*(do+2*deltar);
alm1 = (pi*(do-di))/(log(do/di));
alm2 = (2*pi*deltar)/log(do+2*deltar/do);
o = .0000000567; %W/(M^2*k^4)
d = .5; %do-di(in)
syms t2 t3 ki
eq1 = ki==.044+.0001144*(.5*(t2+t3)-283.333)
eq2 = 1/((d/(2*kp*alm1))+(deltar/ki*alm2))==(h*at(t3-ta)+e*o*at(t3^4-ts^4))/(t1-t3)
eq3 = (2*kp*alm1*(t1-t2))/((d)==h*at(t3-ta)+e*o*at(t3^4-ts^4))
[t2,t3,ki] = vpasolve([eq1,eq2,eq3],[t2,t3,ki],[0 inf;0 1])
t2 = double(t2)
t3 = double(t3)
ki = double(ki)
the error is in the eq2 line, eq1 seems to work fine.
4 commentaires
Star Strider
le 19 Oct 2017
The mystery nevertheless continues, since ‘s’ — either as a function or an array — appears nowhere in your code (that I can see).
Resolved it seems, regardless.
Réponse acceptée
Birdman
le 19 Oct 2017
You forgot to put an operator in front of your at variables in eq2 and eq3. Also, in the vpasolve function, choose your initial guess wisely. If you don't indicate an initial guess for your equations, MATLAB still finds answers. Hope this helps.
Plus de réponses (1)
Walter Roberson
le 19 Oct 2017
You have at(t3-ta) and at(t3^4-ts^4) in that line, but at is not a function and and t3-ta and t3^4-ts^4 are not valid indices into the at variable
0 commentaires
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!