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]
]
];
展开
 我来答
九涵垒GS
2010-10-26 · TA获得超过1960个赞
知道小有建树答主
回答量:1108
采纳率:50%
帮助的人:1150万
展开全部
这个当然出错了,这个不是pi/2的问题,a不就赋值了么,你b
在D[F,b]里是作为变量进行运算的,如果开始就赋值了怎么叫给数字求导啊。。。
可以先符号运算后然后把b值代入。。。
F1 = D[F, b] /. b -> Pi/2;
F2 = D[F1, b] /. b -> Pi/2;
比如这样没有错误提示,虽然出来的列表里全是零,自己改改吧,
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式