Error using sym/subsindex (line 796)

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 comentarios

Star Strider
Star Strider el 19 de Oct. de 2017
In your code, ‘at’ is a single scalar value. It is not a function or an array, yet you are addressing it as one or the other (probably as a function) in ‘eq2’ and ‘eq3’.
You need to decide what you want to do with it.
Nate Mahorner
Nate Mahorner el 19 de Oct. de 2017
Ended up fixing this problem! Was going to delete but figured if I could help someone else in the future then I'll leave it up. The problems in eq2 and eq3 were I needed *s in front of all the parentheses which I somehow forgot. Hope this helps someone!
Nate Mahorner
Nate Mahorner el 19 de Oct. de 2017
@star strider I figured it out right before you answered! Thank you so much for the quick help!
Star Strider
Star Strider el 19 de Oct. de 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.

Iniciar sesión para comentar.

 Respuesta aceptada

Birdman
Birdman el 19 de Oct. de 2017

0 votos

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.

1 comentario

Nate Mahorner
Nate Mahorner el 19 de Oct. de 2017
I figured it out right before you answered! Thank you so much for the quick help!

Iniciar sesión para comentar.

Más respuestas (1)

Walter Roberson
Walter Roberson el 19 de Oct. de 2017

0 votos

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

Categorías

Más información sobre Mathematics en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 19 de Oct. de 2017

Comentada:

el 19 de Oct. de 2017

Community Treasure Hunt

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

Start Hunting!

Translated by