Array indices must be positive integers or logical values

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?

 Akzeptierte Antwort

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

Weitere Antworten (1)

the cyclist
the cyclist am 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).

Kategorien

Mehr zu Mathematics finden Sie in Hilfe-Center und File Exchange

Produkte

Version

R2022b

Gefragt:

am 15 Jan. 2023

Kommentiert:

am 15 Jan. 2023

Community Treasure Hunt

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

Start Hunting!

Translated by