求大神帮我看看这个NDSolve为啥跑不出来!!
mathematica吧
全部回复
仅看楼主
level 2
威震不甜 楼主
n = 2
T1 = 0.00002
T2 = 0.00002
Bx = By = 1
M0 = 0.8
\[Gamma] = 5.6
w0 = 100000
B0 = w0/(\[Gamma] 2 Pi )
wc = -1/n w0
Bc = (2 w0 )/\[Gamma]
s = NDSolve[{
Mx'[t] == -(Mx[t]/
T2) - \[Gamma] (B0 My[t] - By Mz[t] + Bc Cos[wc t] My[t] ),
My'[t] == -(My[t]/
T2) - \[Gamma] (-B0 Mx[t] + Bx Mz[t] - Bc Cos[wc t] Mx[t] ),
Mz'[t] == (M0 - Mz[t])/T1 - (By Mx[t] - Bx My[t]) \[Gamma],
Mx[0] == 0, My[0] == 0, Mz[0] == 0}, {Mx[t], My[t], Mz[t]}, {t, 0,
10}]
Plot[Evaluate[Mx[t] /. s], {t, 0, 10}, AxesLabel -> {t, Mx},
PlotRange -> All]
Plot[Evaluate[My[t] /. s], {t, 0, 10}, AxesLabel -> {t, My},
PlotRange -> All]
Plot[Evaluate[Mz[t] /. s], {t, 0, 10}, AxesLabel -> {t, Mz},
PlotRange -> All]
Evaluate[Mx[t] /. s]
跑不出来,结果一直是Syntax::sntxf: "{" cannot be followed by "Mx'[t]==-(Mx[t]/T2)-\[Gamma](B0 My[t]-By Mz[t]+Bc Cos[wc t]My[t]),My'[t]==-(My[t]/T2)-\[Gamma](-B0Mx[t]+Bx Mz[t]-Bc Cos[wc t]Mx[t]),Mz'[t]==(M0-Mz[t])/T1-(By Mx[t]-Bx My[t])\[Gamma],Mx[0]==0,My[0]==0,Mz[0]==0}".
2021年10月18日 02点10分 1
level 2
威震不甜 楼主
这个后面不能跟,是说跑不出来还是我语法哪里错了。对着帮助看了半天也没发现哪有问题
2021年10月18日 02点10分 2
吧务
level 10
Syntax就是说你语法错
2021年10月19日 07点10分 3
NDSolve那句有全角逗号
2021年10月19日 07点10分
1