24小时热门版块排行榜    

查看: 1509  |  回复: 9
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

亮亮1283

新虫 (小有名气)

[交流] 【求助】请教Mathematica程序问题 已有5人参与

为什么我的程序对一个是函数求导后,得到的函数带入数值后竟然是复数!
以下是程序的一部分,M是一个2*2矩阵,矩阵中每一项均是Omega的函数,而S1,S2是关于omega的复函数

S1 = M[[1, 1]];
S2 = M[[2, 1]];
\[Phi]1 = Arg[S1];
\[Phi]2 = Arg[S2];
\[Tau]1 = D[\[Phi]1, \[Omega]];
得到的Tau代入数值后却是复数!不知道怎么回事!请好心人帮忙!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

RongShe

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
jjdg(金币+1):辛苦了 2010-05-26 04:53:02
引用回帖:
Originally posted by mshwangg at 2010-05-25 22:13:52:
我的意思是说,先对Arg求导再代入数值,和,先对变量赋值再去求Arg的导数,两个结果是不一样的
估计这是mathematica不分数据类型导致的(没有经过验证)
你可以看看后一种计算方法是否违背你的本意,若否,那么 ...

其实先赋值和后赋值结果是一样的,你给的例子4楼里面少了前面的-3 (x^2) ,加上这一项结果就相同了
D[Arg[-x^3 + 8 I], x]
N[% /. x -> 3 + 4 I]
x = 3 + 4 I;
N[-3 x^2*
\!\(\*SuperscriptBox["Arg", "\[Prime]",
MultilineFunction->None]\)[-x^3 + 8 I]]
Clear[x];
8楼2010-05-26 00:40:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

RongShe


小木虫(金币+0.5):给个红包,谢谢回帖交流
引用回帖:
Originally posted by 亮亮1283 at 2010-05-21 14:27:31:
为什么我的程序对一个是函数求导后,得到的函数带入数值后竟然是复数!
以下是程序的一部分,M是一个2*2矩阵,矩阵中每一项均是Omega的函数,而S1,S2是关于omega的复函数

S1 = M[[1, 1]];
S2 = M[[2, 1]];
...

没有具体公式,别人很难判断
9楼2010-05-26 00:43:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 亮亮1283 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见