"much greater than (>>) " operator calculation

4 visualizaciones (últimos 30 días)
Mark
Mark el 5 de Jun. de 2022
Respondida: Shreeya el 1 de Sept. de 2023
I have calculated C1, C2 and B1. And than I need to simplify the three equations with the condition of K1>> lamba1 (K1 much greater than lamba1) but because of the the equation results are very complication. Therefore, I would like to try find if it is possible to use matlab to simplify the the condition of K1>> lamba1(K1 much greater than lamba1).
Below is my code.
If there is any suggestion please feel free to let me know!
Thank you very much!
clc
clear
format long
syms q h v E G S D I a q_o phi_o
syms x y k1 C1 B1 C2 lamda1 lamda1_bar k1 k1_bar
phi=phi_o*cos(lamda1*x)*cos(lamda1*y)+((C1*cosh(lamda1*y)+C2*y*sinh(lamda1*y))*cos(lamda1*x)...
+(C1*cosh(lamda1*x)+C2*x*sinh(lamda1*x))*sin(lamda1*y));
psi=B1*(sinh(k1*y)*sin(lamda1*x)-sinh(k1*x)*sin(lamda1*y));
deta_phi=diff(phi,x,2)+diff(phi,y,2);
% Eq7.93
W=phi-(D/S)*deta_phi;
Eq_793=subs(W,x,a/2);
Eq_793=subs(Eq_793,(a*lamda1)/2,lamda1_bar);
Eq_793=simplify(Eq_793)
Eq_793 = 
% Eq7.94
Eq_794=diff(phi,x,2)+v*diff(phi,y,2)-(1-v)*diff((diff(psi,x,1)),y,1);
Eq_794=subs(Eq_794,x,a/2);
Eq_794=subs(Eq_794,(a*lamda1)/2,lamda1_bar);
Eq_794=subs(Eq_794,(a*k1)/2,k1_bar);
Eq_794=simplify(Eq_794)
Eq_794 = 
% Eq7.95
Eq_795=2*diff(diff(phi,x,1),y,1)+diff(psi,x,2)-diff(psi,y,2);
Eq_795=subs(Eq_795,x,a/2);
Eq_795=subs(Eq_795,(a*lamda1)/2,lamda1_bar);
Eq_795=subs(Eq_795,(a*k1)/2,k1_bar);
Eq_795=simplify(Eq_795)
Eq_795 = 
eqns=[Eq_793==0,Eq_794==0,Eq_795==0];
S=solve(eqns,C1,C2,B1)
S = struct with fields:
C1: -(- 8*D*k1*lamda1^3*phi_o*cosh(k1*y)*cos(lamda1*y)^2*cos(lamda1_bar)^2*sinh(lamda1_bar) + 4*D*lamda1^4*phi_o*cos(lamda1*y)*sin(lamda1*y)^2*cos(lamda1_bar)*cosh(lamda1_bar)*sinh(k1_bar) + 4*S*k1^2*phi_o*cos(lamda1*y)*sin(lamda1*y)^2*cos(lamda1_… C2: (4*(- 2*D*k1*lamda1^4*phi_o*cosh(k1*y)*cos(lamda1*y)^2*cos(lamda1_bar)^2*sinh(lamda1_bar) - S*k1*lamda1^2*phi_o*cosh(k1*y)*cos(lamda1*y)^2*cos(lamda1_bar)^2*sinh(lamda1_bar) + D*lamda1^5*phi_o*cos(lamda1*y)*sin(lamda1*y)^2*cos(lamda1_bar)*cosh… B1: (2*(4*D*lamda1^4*phi_o*sin(lamda1*y)^3*cosh(lamda1_bar)^2*sin(lamda1_bar) + 4*S*lamda1^2*phi_o*sin(lamda1*y)^3*cosh(lamda1_bar)^2*sin(lamda1_bar) - 4*D*lamda1^4*phi_o*v*sin(lamda1*y)^3*cosh(lamda1_bar)^2*sin(lamda1_bar) - 4*D*lamda1^4*phi_o*co…
C1 = vpa(S.C1, 5)
C1 = 
C2 = vpa(S.C2, 5)
C2 = 
B1 = vpa(S.B1, 5)
B1 = 

Respuestas (1)

Shreeya
Shreeya el 1 de Sept. de 2023
Hi Mark
I understand that you want to implement the much greater than (>>) operator to solve the equation K >> lambda in MATLAB.
You can define a tolerance level , let’s say of value 100. If this tolerance level is satisfied, it can be concluded that K >> lambda. The MATLAB function “assume” can help enforce this assumption while solving equations.
assume(T > 100)
The above code enforces the much greater than constraints to solve the equations further.
Refer to the documentation for more details: Set assumption on symbolic object - MATLAB assume - MathWorks India
Hope this helps!

Categorías

Más información sobre Symbolic Math Toolbox en Help Center y File Exchange.

Productos


Versión

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by