mathematica 全局变量 初值 问题
我定义了一个全局变量并赋给它一个初值(Pi/2)然后程序告诉我这个变量不是一个合法的变量于是我把它改成了局部变量也就是放到module里面程序告诉我还不是一个合法的变量难...
我定义了一个全局变量 并赋给它一个初值(Pi/2)
然后程序告诉我这个变量不是一个合法的变量
于是我把它改成了局部变量 也就是放到module里面
程序告诉我还不是一个合法的变量
难道mathematica里面就不能给一个变量赋初值?
N1 = 0;K1 = 183000; K2 = 5613600; K3 = 203000 ;Ms = 1600;b = Pi/2;x = 0.001;a = Pi/2;
M = Ms*Cos[b - a];
F = -Ms*H*Cos[b - a] + 0.5*N1*Ms*Ms*Cos[4*b] + K2 - K3*Cos[2*b] + K0 + K1*(0.125 + 0.125*Cos[4*b]);
F1 = D[F, b];
F2 = D[F1, b];
For[
H = 800, H >= -800, H -= 20,
If[
F1 == 0,
If[
F2 < 0,
While[Abs[F1] > 0.001 || F2 < 0, b -= 0.01];
Print["b=", b, " ", "H=", H, " ", "M=", Ms*cos (a - b),
" ", F1, " ", F2],
Print["b=", b, " ", "H=", H, " ", "M=", Ms*cos (a - b),
" ", F1, " ", F2]
],
While[Abs[F1] > 0.001 || F2 < 0, b -= 10/F1];
Print["b=", b, " ", "H=", H, " ", "M=", Ms*cos (a - b),
" ", F1, " ", F2]
]
]; 展开
然后程序告诉我这个变量不是一个合法的变量
于是我把它改成了局部变量 也就是放到module里面
程序告诉我还不是一个合法的变量
难道mathematica里面就不能给一个变量赋初值?
N1 = 0;K1 = 183000; K2 = 5613600; K3 = 203000 ;Ms = 1600;b = Pi/2;x = 0.001;a = Pi/2;
M = Ms*Cos[b - a];
F = -Ms*H*Cos[b - a] + 0.5*N1*Ms*Ms*Cos[4*b] + K2 - K3*Cos[2*b] + K0 + K1*(0.125 + 0.125*Cos[4*b]);
F1 = D[F, b];
F2 = D[F1, b];
For[
H = 800, H >= -800, H -= 20,
If[
F1 == 0,
If[
F2 < 0,
While[Abs[F1] > 0.001 || F2 < 0, b -= 0.01];
Print["b=", b, " ", "H=", H, " ", "M=", Ms*cos (a - b),
" ", F1, " ", F2],
Print["b=", b, " ", "H=", H, " ", "M=", Ms*cos (a - b),
" ", F1, " ", F2]
],
While[Abs[F1] > 0.001 || F2 < 0, b -= 10/F1];
Print["b=", b, " ", "H=", H, " ", "M=", Ms*cos (a - b),
" ", F1, " ", F2]
]
]; 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询