Не можете получить решение для переменной gamma1, что не так? - PullRequest
0 голосов
/ 17 октября 2019

Я хочу использовать следующий код

f := sqrt(7200*8200)*10^6: 
Ig := 0, 9330; Ug := 13.134: 
f_gr := 10^10:
r_e := .8: 
L_e := .5*10^(-9): 
C_e := 2.5*10^(-12): 
Cka := .4*10^(-12): 
Ckp := .8*10^(-12): 
L_b := .3*10^(-9): 
I_0 := I*f*Ig*(cos(.4*f/f_gr)+I*sin(.4*f/f_gr))/(f_gr*gamma1):
I_e := I_0+Ig:
U_e := I_e*(r_e+I*(2*Pi*f*L_e)):
U_p := -I*(1-gamma1)*I_0/(2*Pi*f*C_e):
Uska := Ug+U_p:
Iska := I*(2*Pi*f*Cka*Uska):
Irb := I_0+Iska:
Urb := 2.8*Irb:
Uskp := Urb+Uska:
Iskp := I*(2*Pi*f*Ckp*Uskp):
Irk := Uskp/773.5:
Ib := Irb+Iskp+Irk:
Ulb := I*(2*Pi*f*L_b*Ib):
Uv := U_e+Ulb+Urb+U_p:
Ik := Ig-Iska-Iskp-Irk:
Uk := Ug-U_e:

, чтобы решить Re(Uk)*Re(Ik)+Im(Uk)*Im(Ik)=0.186 для гаммы1 (я для мнимой единицы). Но это не работает. Я пытался использовать грубую силу, назначая несколько чисел gamma1 и затем находя Re(Uk)*Re(Ik)+Im(Uk)*Im(Ik), но все равно не могу получить число. Не могли бы вы помочь мне?

1 Ответ

2 голосов
/ 17 октября 2019

Ваш код содержит явную ошибку в определении Ig, которому вы присвоили последовательность выражений 0, 9330.

Возможно, вы вместо этого намеревались Ig:=0.9330.

restart;
f := sqrt(7200*8200)*10^6: 
Ig := 0.9330:
Ug := 13.134: 
f_gr := 10^10:
r_e := .8: 
L_e := .5*10^(-9): 
C_e := 2.5*10^(-12): 
Cka := .4*10^(-12): 
Ckp := .8*10^(-12): 
L_b := .3*10^(-9): 
I_0 := I*f*Ig*(cos(.4*f/f_gr)+I*sin(.4*f/f_gr))/(f_gr*gamma1):
I_e := I_0+Ig:
U_e := I_e*(r_e+I*(2*Pi*f*L_e)):
U_p := -I*(1-gamma1)*I_0/(2*Pi*f*C_e):
Uska := Ug+U_p:
Iska := I*(2*Pi*f*Cka*Uska):
Irb := I_0+Iska:
Urb := 2.8*Irb:
Uskp := Urb+Uska:
Iskp := I*(2*Pi*f*Ckp*Uskp):
Irk := Uskp/773.5:
Ib := Irb+Iskp+Irk:
Ulb := I*(2*Pi*f*L_b*Ib):
Uv := U_e+Ulb+Urb+U_p:
Ik := Ig-Iska-Iskp-Irk:
Uk := Ug-U_e:

А теперь

solve(Re(Uk)*Re(Ik)+Im(Uk)*Im(Ik)=0.186, {gamma1});

       {gamma1 = -0.9296926790 - 0.6316639400 I}
...