"much greater than (>>) " operator calculation

4 vues (au cours des 30 derniers jours)
Mark
Mark le 5 Juin 2022
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 = 

Réponses (1)

Shreeya
Shreeya le 1 Sep 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!

Catégories

En savoir plus sur Symbolic Math Toolbox dans Help Center et File Exchange

Produits


Version

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by