z1 and x variables in algebraic equations

3 visualizaciones (últimos 30 días)
Rodrigo Pena
Rodrigo Pena el 14 de Oct. de 2021
Respondida: Catalytic el 14 de Oct. de 2021
Hello all !
I am solving algebraic equations that depends on two variables ( R, t ). However when I use 'solve' syntax and solve the algebraic equation for the desired variable MATLAB returns z1 and x as answers. The equations that I am trying to solve are quite big that even wolfram does not provide a 'legible' answer. I tried changing variables in order to facilitate the algebra but with partial sucess. I am not interested in the equations itself, I just need a number that I can plot in the end.
Please find the code below:
syms R t
assume(R,'positive')
assume(t, 'positive')
h = 10; % Height of the tank [m]
H = 30; % Height of the base [m]
D = 10; % Diameter of the tank [m]
w = 700; % Wind pressure of the tank [N/m²]
e = 10/100; % Eccentricity [m]
delta_a = 20/100; % Allowable deflection [m]
gamma_w = 10*10^3; % Unit weight of water [N/m³]
gamma_s = 80*10^3; % Unit weight of steel [N/m³]
E = 210*10^9; % Modulus of elasticity [Pa]
t_t = 1.5/100; % Average thickness of the tank wall
sigma_b = 165 * 10^6; % Allowable bending stress [Pa]
d0 = 2*(R + t/2); % External diamater vs Mean Radius relationship
I = pi/64*(d0^4 - (d0 - 2*t)^4); % Moment of Inertia [m^4]
A = pi*t*(d0 - t); % Cross-section area of the column [m²]
r = sqrt(I/A); % radius of gyration [m]
sigma_a = (12*pi^2*E)/(92*(H/r)^2); % Allowable axial stress [Pa]
V = 1.2*pi*D^2 * h; % Volume of the tank [m³]
A_s = 1.25*pi*D^2; % Surface area of tank [m²]
A_p = (2*D*h)/3; % Projected area for wind loading [m²]
P = (V*gamma_w) + (A_s*t_t*gamma_s); % Load on the column due to weight of water and steel tank [N]
W = w*A_p; % Lateral load at the tank C.G [m]
delta1 = (W*H^2)/(12*E*I) * (4*H + 3*h);
delta2 = H/(2*E*I) * (0.5*W*h + P*e)*(H + h);
delta = delta1 + delta2; % Deflection at C.G of the tank [m]
M = W*(H + 0.5*h) + (delta + e)*P; % Moment at base [N.m]
f_b = M/(2*I) *d0; % Bending stress [Pa]
f_a = P/A; % Axial stress [Pa]
R_range = [0.35:0.1:2]; % Mean radius range [m] #ok<NBRAK>
g1 = sigma_a - f_a == 0;
g1_d0 = solve(g1,t)
%g1_d0_values = subs(g1_d0(4),d0,R_range);
g2 = sigma_b - f_b == 0;
g2_d0 = solve(g2,t)
%g2_d0_values = subs(g2_d0(6),d0,R_range);
g3 = delta_a - delta ==0;
g3_d0 = solve(g3,t)
%g3_d0_values = subs(g3_d0(2),d0,R_range);
Thanks in advance !

Respuesta aceptada

Catalytic
Catalytic el 14 de Oct. de 2021
"The equations that I am trying to solve are quite big that even wolfram does not provide a 'legible' answer."
There is no point looking for an analytical solution equations if one is unlikely to exist. You should use fzero() instead.

Más respuestas (0)

Categorías

Más información sobre Chemistry en Help Center y File Exchange.

Productos


Versión

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by