Matlab won't solve system of equations

조회 수: 16 (최근 30일)
Tarek Sayed Hamad
Tarek Sayed Hamad 2019년 11월 25일
답변: Swatantra Mahato 2020년 9월 8일
Hi!
I have been working on solving a system of equations symbolically using Matlab, but it won't return a value. I have 6 equations and 6 variables (solvable). I have even tried to simply this system of equations by hand, which gave me 2 equations and 2 unknown variables, but Matlab wouldn't solve that one either. I have the following code:
tau = 8.5; w_r = 1500*pi/30; p = 2; i_sn = 3.1; u_sn = 400*sqrt(2);
w_e = p*w_r; power = tau*w_r;
syms u_sq u_sd i_sq i_sd L_sq L_sd
eq1 = sqrt(w_e^2 * ((L_sd*i_sd)^2 + (L_sq*i_sq)^2)) == u_sn
eq2 = ((L_sd*i_sd)^2 + (L_sq*i_sq)^2) / (sqrt(w_e^2 * ((L_sd*i_sd)^2 + (L_sq*i_sq)^2))) == 0
eq3 = (3/2)*p*(L_sd - L_sq)*u_sd*u_sq/(w_e^2*L_sd*L_sq) == tau
eq4 = 3*p*u_sd*u_sq*(L_sd - L_sq)/(w_e^3*L_sd*L_sq) == 0
eq5 = i_sq*u_sq + i_sd*u_sd == power
eq6 = i_sq^2 + i_sd^2 == i_sn^2
eqs = [eq1, eq2, eq3, eq4, eq5, eq6];
solveFor = [u_sq, u_sd i_sq i_sd L_sq L_sd];
solution = solve(eqs, solveFor);
solutionL_sq = solution.L_sq
solutionL_sd = solution.L_sd
The results is:
solutionL_sq =
Empty sym: 0-by-1
solutionL_sd =
Empty sym: 0-by-1
Does anyone know what's wrong? I cannot seem to find this online.

답변 (1개)

Swatantra Mahato
Swatantra Mahato 2020년 9월 8일
Hi,
You may want to recheck the system of equations you want to solve as I can see inconsistencies in eq1-2 and eq3-4
eq1 = sqrt(w_e^2 * ((L_sd*i_sd)^2 + (L_sq*i_sq)^2)) == u_sn
eq2 = ((L_sd*i_sd)^2 + (L_sq*i_sq)^2) / (sqrt(w_e^2 * ((L_sd*i_sd)^2 + (L_sq*i_sq)^2))) == 0
By combining the above equations we get
((L_sd*i_sd)^2 + (L_sq*i_sq)^2) == 0
Which when substituted back to eq1 gives
sqrt(w_e^2) == u_sn
which is incorrect.
Similarly, for eq3 and eq4 we get
2*tau/w_e == 0
which is again false.
Additionally, you can refer the documentation for tips on troubleshooting solve
Hope this helps

카테고리

Help CenterFile Exchange에서 Mathematics에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by