求助,关于傅里叶变换
mathematica吧
全部回复
仅看楼主
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
吧务
level 15
首先,NDSolve里面其实调个AccuracyGoal就行了,然后,Periodogram就行了。注意采样率要改,PlotRange也要适当调下:
points = 4 10^4; sr = points/(100/f2);
Periodogram[solx@Range[0, 100/f2, 1/sr], SampleRate -> sr,
PlotRange -> {{0, 1 10^8}, All}]
2020年07月04日 03点07分 2
漏了solx的定义:{solx, soly} = {x, y} /. First@璐村惂鐢ㄦ埛_00000Db馃惥 顺便,不会用Range的话用Table也行。
2020年07月04日 03点07分
@xzcyr 吧主回复,太牛了~谢谢谢谢!问题解决了[真棒][真棒][真棒]
2020年07月04日 03点07分
@xzcyr 吧主大神,如果你有空的话,再麻烦你帮我看一下三楼的问题好吗?谢谢,感恩!~[玫瑰][大拇指]
2020年07月07日 09点07分
level 4
lwy1993414 楼主
有一个需要用NSolve解的方程组,F1[x,y]=0, F2[x,y]=0,里面的参数全都已知,可以用NSolve数值计算出y(y是复数),现在我想改变方程组里面的一个参数omega,然后画出每个a对应的x的实部的值,而且有的omega对应的x有多个解,我用了listplot得到的不是想要的结果,代码和结果如下。请问我该怎么改进呢?
a = Table[
NSolve[0 == -I*((omega/2 - 300000)*x -
x*(-10^17)*(Abs[x])^2/omega + 1*10^(18)*(y)^2/(2*omega)) -
100*x &&
0 == -I*((omega - 600000)*y - y*(-10^17)*(Abs[y])^2/omega +
1*10^(14)*x*Conjugate[y]/omega) - 100*y +
10^(5)/(2*omega), {x, y}], {omega, 590000, 610000, 2000}];
ListPlot[Re[y] /. a]
2020年07月07日 09点07分 3
理想的结果应该是一条曲线,横坐标是omega
2020年07月07日 09点07分
@lwy1993414 @0笑叹浮生若梦0 ,@逍遥诸葛亮 求助大佬们[乖][乖],谢谢!
2020年07月07日 09点07分
@lwy1993414 请观察以下代码的输出,并思考原因:{aaa /. {aaa -> 1}, aaa /. {{aaa -> 1}}}
2020年08月01日 05点08分
1