Array indices must be positive integers or logical values

1 vue (au cours des 30 derniers jours)
Justin
Justin le 15 Jan 2023
Commenté : Justin le 15 Jan 2023
I'm trying to solve for the variable T, but MATLAB is returning
Array indices must be positive integers or logical values.
Error in untitled (line 23)
Temp = ((T - Te)./(Tb - Te) == ((cosh(B(L - x))) + (Hc)/((B.*k).* ...
Here is the code:
%Question 9
syms Temp solx T Tb Te L D P Ac k Hc B x;
%Variables
Tb = 200;
Te = 20;
L = 8 * .01;
D = 5 * .001;
%B variables
P = (pi * D);
Ac = (pi * D.^2)/4;
k = 200;
Hc = 200;
%B equation
B = (Hc * P)/(k * Ac);
%input variable
x = 2 * .01;
%Equation
Temp = ((T - Te)./(Tb - Te) == ((cosh(B(L - x))) + (Hc)/((B.*k).* ...
sinh(B(L - x))))./((cosh(B.*L) + (Hc))./((B*k).*sinh(B.*L))));
%solve
solx = solve(Temp, T);
How can I fix this error?

Réponse acceptée

Voss
Voss le 15 Jan 2023
You probably mean
B.*(L - x)
instead of
B(L-x)
in two places.

Plus de réponses (1)

the cyclist
the cyclist le 15 Jan 2023
I'm guessing that when you wrote
B(L - x)
(in two places), you intended this multiplication:
B.*(L - x)
instead. The way your wrote it, you are trying to index the (L-x)th element of B (which is why you got the error).

Produits


Version

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by