How to solve equation

m_c_theta1=(m_c0-1/M-1)*cos(theta1)+j_L0*sin(theta1)+1/M+1;
j_L_theta1=(-m_c0+1/M+1)*sin(theta1)+j_L0*cos(theta1);
m_c_gama=(m_c_theta1-1/M+1)*cos(gama-theta1)+j_L_theta1*sin(gama-theta1)+1/M-1;
j_L_gama=(-m_c_theta1+1/M-1)*sin(gama-theta1)+j_L_theta1*cos(gama-theta1);
Boundary Condition:
m_c_gama=-m_c0
j_L_gama=-j_L0
j_L_theta1=-(gamma*l)/2
Hi,
I need to solve these equations and these are my boundary conditions. I need to find m_c0,j_L0,theta1 and M.
Can anyone help me please?

7 个评论

Do you want an exact or approximate solution?
exact solution possibly..
Complicated trig functions rarely have exact solutions.
Are there constraints to consider? Real values? Only need to consider one period?
there are boundary conditions which i have given. just need to consider one half cycle as other half cycle would be the same.
the solution should be like this
m_c0=1-cos(fi)/cos(gamma/2) j_L0=gamma*l*M/2+(M-1/M)*tan(gamma/2)
where theta1=(gamma/2)-fi gamma-theta1=(gamma/2)+fi
Can anyone give any solution to this question please?
Hi, umme mumtahina.
I see you are working with the LLC converter and the IEEE document (Optimal design methodology for LLC Resonant Converter... by Zhijian Fang etc.).
I am looking for the same solution at the moment for my bachelor thesis and I was wondering if you could provide me your MATLAB code? So I 'don't have to annoy Walter Roberson with the same issues. Please contact me via private message.

请先登录,再进行评论。

 采纳的回答

m_c0 = 4*((m_c_theta1+1)*sin(gamma)^2+l*gamma*(ROOT-(1/2)*cos(gamma)-1/2)*sin(gamma)+(2*ROOT*m_c_theta1+2*ROOT-2)*cos(gamma)-2*ROOT*m_c_theta1+2*ROOT-2)*m_c_theta1/((gamma^2*l^2+4*m_c_theta1^2+8*m_c_theta1+4)*sin(gamma)^2-4*l*gamma*(m_c_theta1-1)*sin(gamma)-16*m_c_theta1)
j_L0 = (1/2)*(-l*gamma*(gamma^2*l^2+4*m_c_theta1^2+4*m_c_theta1+4)*sin(gamma)^3+(2*m_c_theta1*(gamma^2*l^2+4*m_c_theta1^2+12*m_c_theta1+8)*cos(gamma)+4*l^2*(-1+(ROOT+1/2)*m_c_theta1)*gamma^2+(16*ROOT+8)*m_c_theta1^3+(16*ROOT+8)*m_c_theta1^2+16*m_c_theta1)*sin(gamma)^2-2*l*gamma*((l^2*(ROOT-1)*gamma^2+(4*ROOT+4)*m_c_theta1^2+(4*ROOT-8)*m_c_theta1+4*ROOT-4)*cos(gamma)+l^2*(ROOT-1)*gamma^2+(4*ROOT+4)*m_c_theta1^2+(-4*ROOT-8)*m_c_theta1+4*ROOT-4)*sin(gamma)-8*(l^2*(ROOT-1)*gamma^2+4*m_c_theta1^2*(ROOT+1))*(cos(gamma)+1))/(((gamma^2*l^2+4*(m_c_theta1+1)^2)*sin(gamma)^2-4*l*gamma*(m_c_theta1-1)*sin(gamma)-16*m_c_theta1)*sin(gamma))
theta1 = arctan((-2*gamma*l*sin(gamma)^2*m_c_theta1+((-l^2*(ROOT-1)*gamma^2-4*(m_c_theta1+1)*(ROOT*m_c_theta1+ROOT-1))*cos(gamma)-l^2*(ROOT-1)*gamma^2+4*ROOT*m_c_theta1^2-4*ROOT-4*m_c_theta1+4)*sin(gamma)-4*l*gamma*(cos(gamma)+1)*(ROOT-1))/((gamma^2*l^2+4*(m_c_theta1+1)^2)*sin(gamma)^2-4*l*gamma*(m_c_theta1-1)*sin(gamma)-16*m_c_theta1), ROOT)
M = ((4*m_c_theta1+4)*sin(gamma)^2+4*l*gamma*(ROOT-(1/2)*cos(gamma)-1/2)*sin(gamma)+(8*ROOT*m_c_theta1+8*ROOT-8)*cos(gamma)-8*ROOT*m_c_theta1+8*ROOT-8)/((gamma^2*l^2+4*m_c_theta1^2+8*m_c_theta1+4)*sin(gamma)^2-4*l*gamma*(m_c_theta1-1)*sin(gamma)-16*m_c_theta1)
where
ROOT = RootOf((-4*gamma*cos(gamma)*l*sin(gamma)+4*sin(gamma)^2*m_c_theta1^2+gamma^2*l^2*sin(gamma)^2-4*sin(gamma)^2+8-8*cos(gamma)+4*gamma*l*sin(gamma))*z^2+(-cos(gamma)*l^2*gamma^2*sin(gamma)^2-gamma^2*l^2*sin(gamma)^2-2*l*sin(gamma)^3*m_c_theta1*gamma-4*l*sin(gamma)^3*gamma+4*cos(gamma)*m_c_theta1*sin(gamma)^2+4*cos(gamma)*sin(gamma)^2-4*sin(gamma)^2*m_c_theta1-4*sin(gamma)^2)*z+cos(gamma)*l^2*gamma^2*sin(gamma)^2+2*l*sin(gamma)^3*m_c_theta1*gamma+4*l*sin(gamma)^3*gamma-2*cos(gamma)*m_c_theta1^2*sin(gamma)^2+4*gamma*cos(gamma)*l*sin(gamma)-4*cos(gamma)*m_c_theta1*sin(gamma)^2-2*sin(gamma)^2*m_c_theta1^2-4*gamma*l*sin(gamma)-4*cos(gamma)*sin(gamma)^2+4*sin(gamma)^2*m_c_theta1+8*sin(gamma)^2+8*cos(gamma)-8, z)
and RootOf(f(z),z) means the values, z, such that f(z) = 0 -- the roots of the equation.
As ROOT is a quadratic, it has two exact solutions that can be substituted in to the other equations.

10 个评论

Hi Walter, Thanks But how did you find the expressions for m_c0 ,j_L0, theta1 and M ?
The MATLAB code would be
syms m_c0 j_L0 theta1 M m_c_gama j_L_gama j_L_theta1
syms m_c_theta1 gama l
eqn1 = m_c_theta1==(m_c0-1/M-1)*cos(theta1)+j_L0*sin(theta1)+1/M+1;
eqn2 = j_L_theta1==(-m_c0+1/M+1)*sin(theta1)+j_L0*cos(theta1);
eqn3 = m_c_gama==(m_c_theta1-1/M+1)*cos(gama-theta1)+j_L_theta1*sin(gama-theta1)+1/M-1;
eqn4 = j_L_gama==(-m_c_theta1+1/M-1)*sin(gama-theta1)+j_L_theta1*cos(gama-theta1);
m_c_gama=-m_c0;
j_L_gama=-j_L0;
j_L_theta1=-(gama*l)/2;
eqns = subs([eqn1, eqn2, eqn3, eqn4]);
sol = solve(eqns, m_c0, j_L0, theta1, M);
Note: if you try to add 'returnconditions', true to the solve() then it will take a long time.
The MATLAB results appear to be more compact than the ones I found earlier.
Note: I had to assume that the gamma in your boundary condition was the same as the gama in your equations.
[m_c0 == sol.m_c0(1), j_L0 == sol.j_L0(1), theta1 == sol.theta1(1), M == sol.M(1)]
[m_c0 == sol.m_c0(2), j_L0 == sol.j_L0(2), theta1 == sol.theta1(2), M == sol.M(2)]
safi58
safi58 2017-2-17
编辑:safi58 2017-2-17
Hi Walter, Thank you so much. Your help is much appreciated. CAn you please tell me how can I validate these solutions? I mean how can I be sure that these solutions are the result of these equations?
And what do you mean by return conditions?
sol = solve(eqns, m_c0, j_L0, theta1, M, 'returnconditions', true);
would take a long time, not worth doing.
To verify the solution, go back to the equations in eqns and subs() in particular numeric values for m_c0, j_L0, theta1, M . Then vpasolve() to get numeric values for those. Now subs() the particular numeric values into the variables in the sol structure and vpa() that, and see whether the formula's numeric solutions agreed the vpasolve() numeric solutions.
No, that is a duplicate. I am not going to answer duplicates.
Sorry for that. Walter, can you please clarify on the solution method because I am a little bit confused.
i got it!!!!
Hi, umme mumtahina.
I see you are working with the LLC converter and the IEEE document (Optimal design methodology for LLC Resonant Converter... by Zhijian Fang etc.).
I am looking for the same solution at the moment for my bachelor thesis and I was wondering if you could provide me your MATLAB code? So I 'don't have to annoy Walter Roberson with the same issues. Please contact me via private message.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Programming 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by