Solve an equation like the HP calculator solve

7 views (last 30 days)
I would like to know if there is any way to solve an equation like HP's solve, I wanted to find out the value of To2 without having to isolate him.
I think it is possible with fsolve, but I would have to enter the values manually that I had previously calculated and I don't want that. The equation is the last in the code.
S = 547.34
d = 30.42e-3
p = 1.8304
E = 7150
alfa = 19.6e-6
Trup = 14990
ALT = 400
ab = 350
Vp = (160)/3.6
g = 10
% 1º Passo) Hipótese de Carrga
% I - Temperatura mínima
t1 = -5
p1 = p
To1 = 0.33*Trup
% II - Vento máximo
t2 = 15
prol = (1.293 ./ (1 + 0.00367*t2))*((16000 + 64*t2 - ALT) ./(16000 + 64*t2 + ALT));
fprintf('prol = %0.5f kgf/m^3 \n', prol)
q0 = (1/2)*(prol)*(Vp^2);
fprintf('q0 = %0.5f N/m^2 \n', q0)
Fv = q0/10*d;
fprintf('Fv = %0.5f kgf/m^2 \n', Fv)
pv = sqrt(p^2+Fv^2);
p2 = pv;
fprintf('p2 = %0.5f kgf/m \n', p2)
To2 = 0.5*Trup;
fprintf('To2 = %0.5f gf \n', To2)
%III - Maior Duração
t3 = 20;
p3 = p;
To3 = 0.2*Trup;
fprintf('To3 = %0.5f gf \n', To3)
num12 = 24*(alfa*(t2-t1)+(To2-To1)/(E*S))
den12 = (p2/To2)^2 - (p1/To1)^2
clear To2
A = 325
p2 = 1.8304
t2 = 40
t2 - 20 = (1/alfa)*(((To2/p2)*sinh((A*p2)/(2*To2)))/((To1/p1)*sinh((A*p1)/(2*To1)))-1-(1/(E*S))*(To2-To1)) % This equation
% I want to know the value of To2 from the equation above

Accepted Answer

Alan Stevens
Alan Stevens on 6 May 2021
Use fzero. Replace the last line of your code with the following
To2fn = @(To2) (1/alfa).*(((To2/p2).*sinh((A*p2)./(2.*To2)))./((To1/p1).*sinh((A*p1)/(2.*To1)))-1-(1/(E.*S)).*(To2-To1)) - (t2 - 20);
To20 = 1000; % Initial guess
To2 = fzero(To2fn, To20);
disp(To2)

More Answers (0)

Categories

Find more on Mathematics in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!