level 4
lwy1993414
楼主
请问一下贴吧大神,我通过数值求解一组微分方程得到如下的结果,即关于时间t内函数x(或y)变化的过程,我想把它经过傅里叶变换变成频域结果,需要怎么操作呢?万分感谢~
f2 = 132.25*10^6;
f1 = 44.132*10^6;
omega = 44.1320*10^6;
alpha2 = 5.25*10^34;
alpha1 = -8.3*10^32;
gamma2 = 1900;
gamma1 = 993;
force = 10^(-6);
cr = 1.25*10^(33);
s = NDSolve[{x'[
t] == -I*((omega - f1)*x[t] -
1.5*alpha1*(Abs[x[t]])^2*x[t]/omega +
1.5*cr*Conjugate[x[t]]*Conjugate[x[t]]*y[t]/omega) -
gamma1*x[t]/2 + force/omega,
y'[t] == -I*((3*omega - f2)*y[t] -
0.2*alpha2*(Abs[y[t]])^2*y[t]/omega +
cr*(x[t])^3/(6*omega)) - gamma2*y[t]/2, x[0] == 10^(-9),
y[0] == 10^(-9)}, {x, y}, {t, 0, 100/f2}, AccuracyGoal -> 40,
MaxStepSize -> 1/(100*f2), MaxStepFraction -> 0.001,
MaxSteps -> Infinity];
Plot[Evaluate[{Re[x[t]], Re[y[t]]} /. s], {t, 0, 100/f2},
PlotRange -> Full, Filling -> Axis, ColorFunctionScaling -> True]

2020年07月02日 06点07分
1
f2 = 132.25*10^6;
f1 = 44.132*10^6;
omega = 44.1320*10^6;
alpha2 = 5.25*10^34;
alpha1 = -8.3*10^32;
gamma2 = 1900;
gamma1 = 993;
force = 10^(-6);
cr = 1.25*10^(33);
s = NDSolve[{x'[
t] == -I*((omega - f1)*x[t] -
1.5*alpha1*(Abs[x[t]])^2*x[t]/omega +
1.5*cr*Conjugate[x[t]]*Conjugate[x[t]]*y[t]/omega) -
gamma1*x[t]/2 + force/omega,
y'[t] == -I*((3*omega - f2)*y[t] -
0.2*alpha2*(Abs[y[t]])^2*y[t]/omega +
cr*(x[t])^3/(6*omega)) - gamma2*y[t]/2, x[0] == 10^(-9),
y[0] == 10^(-9)}, {x, y}, {t, 0, 100/f2}, AccuracyGoal -> 40,
MaxStepSize -> 1/(100*f2), MaxStepFraction -> 0.001,
MaxSteps -> Infinity];
Plot[Evaluate[{Re[x[t]], Re[y[t]]} /. s], {t, 0, 100/f2},
PlotRange -> Full, Filling -> Axis, ColorFunctionScaling -> True]


