"much greater than (>>) " operator calculation

6 次查看(过去 30 天)
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 = 

回答(1 个)

Shreeya
Shreeya 2023-9-1
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!

类别

Help CenterFile Exchange 中查找有关 Symbolic Math Toolbox 的更多信息

产品


版本

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by