Solving a system of equations involving complex numbers

158 vues (au cours des 30 derniers jours)
Aleem Andrew
Aleem Andrew le 21 Avr 2020
Commenté : Ameer Hamza le 21 Avr 2020
The following code outputs a value for a and b with respect to the imaginary number i but the output is not fully simplified with the complex and real part separately factored. Is there a way to modify the code so it is of the form a+bi where a and b are rounded to a certain number of decimal places? This would ensure that the real and complex parts are each only one number rather than the sum of a radical and a rational numbers.
syms X Y Q t w v a b z c N theta m L g
eq1 = b-a == 10*(cosd(45)+i*sind(45));
eq2 = 3 == (a-b)/4+a*i/3 + b/(6*i)+b/12;
sol = solve([eq1 eq2], [b a]); %[a b c] = [theta' theta'' x'']
sol_b = simplify(sol.b)
solb = sol.b
  1 commentaire
BALAJI KARTHEEK
BALAJI KARTHEEK le 21 Avr 2020
The ans is in the form of cells, conversion of cells to arrays will give you the required results..

Connectez-vous pour commenter.

Réponse acceptée

Ameer Hamza
Ameer Hamza le 21 Avr 2020
Modifié(e) : Ameer Hamza le 21 Avr 2020
Try vpasolve()
syms X Y Q t w v a b z c N theta m L g
eq1 = b-a == 10*(cosd(45)+1i*sind(45));
eq2 = 3 == (a-b)/4+a*1i/3 + b/(6*1i)+b/12;
sol = vpasolve([eq1 eq2], [b a]); %[a b c] = [theta' theta'' x'']
Result
>> sol.a
ans =
18.513708498984760390413509793678 - 8.7431457505076198047932451031612i
>> sol.b
ans =
25.584776310850235634421953414726 - 1.6720779386421445607848014821127i
  2 commentaires
Aleem Andrew
Aleem Andrew le 21 Avr 2020
Thank you for your answer
Ameer Hamza
Ameer Hamza le 21 Avr 2020
I am glad to be of help.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by