z1 and x variables in algebraic equations

3 Ansichten (letzte 30 Tage)
Rodrigo Pena
Rodrigo Pena am 14 Okt. 2021
Beantwortet: Catalytic am 14 Okt. 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 !

Akzeptierte Antwort

Catalytic
Catalytic am 14 Okt. 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.

Weitere Antworten (0)

Kategorien

Mehr zu Chemistry finden Sie in Help Center und File Exchange

Produkte


Version

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by