24小时热门版块排行榜    

查看: 2003  |  回复: 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的回帖

resonant

木虫 (正式写手)

独自为政

不明白,难道是没有延迟赋值的问题?
交朋识友,猛搞科研。两手抓,两手都要硬。
2楼2010-05-21 17:31:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mshwangg

至尊木虫 (正式写手)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
resonant(金币+2):感谢回帖交流:-) 2010-05-21 21:42:53
给个例子,自己看吧
In[17]:= D[Arg[-x^3 + 8 I], x]
N[% /. x -> 3 + 4 I]

Out[17]=-3 x^2
\!\(\*SuperscriptBox["Arg", "\[Prime]",
MultilineFunction->None]\)[8 I - x^3]

Out[18]= 0.0504505 - 0.172973 I
3楼2010-05-21 21:21:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mshwangg

至尊木虫 (正式写手)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
resonant(金币+1):感谢回帖交流:-) 2010-05-21 21:42:59
然后是这个
不同的是x的赋值顺序
In[23]:= x = 3 + 4 I
N[
\!\(\*SuperscriptBox["Arg", "\[Prime]",
MultilineFunction->None]\)[-x^3 + 8 I]]

Out[23]= 3 + 4 I

Out[24]= 0.0024024
4楼2010-05-21 21:25:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

亮亮1283

新虫 (小有名气)

引用回帖:
Originally posted by mshwangg at 2010-05-21 21:21:58:
给个例子,自己看吧
In[17]:= D[Arg[-x^3 + 8 I], x]
N[% /. x -> 3 + 4 I]

Out[17]=-3 x^2
\!\(\*SuperscriptBox["Arg", "\[Prime]",
MultilineFunction->None]\)[8 I - x^3] ...

我不是很懂你说的两者的区别,难道复制顺序不一样会造成这种差别吗?那要是我所付的值全是实数呢?怎么也会是复数!
5楼2010-05-25 14:45:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yhj70

铜虫 (正式写手)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+1):欢迎常来程序软件版! 2010-05-25 18:50:22
检查一下,在适当的语句行设置Clear命令清除所涉变量的中间值。有可能运行过程中用到一部分前面的变量的值
6楼2010-05-25 18:12:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mshwangg

至尊木虫 (正式写手)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
resonant(金币+2):多谢解答。 2010-05-25 23:00:54
我的意思是说,先对Arg求导再代入数值,和,先对变量赋值再去求Arg的导数,两个结果是不一样的
估计这是mathematica不分数据类型导致的(没有经过验证)
你可以看看后一种计算方法是否违背你的本意,若否,那么问题也就解决了
引用回帖:
Originally posted by 亮亮1283 at 2010-05-25 14:45:53:





我不是很懂你说的两者的区别,难道复制顺序不一样会造成这种差别吗?那要是我所付的值全是实数呢?怎么也会是复数!

7楼2010-05-25 22:13:52
已阅   回复此楼   关注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的回帖

mshwangg

至尊木虫 (正式写手)

★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
resonant(金币+3):辛苦。 2010-05-26 23:01:22
好吧,我再解释一下这个问题
第一个程序(后赋值的)是按照楼主的程序思想做的。先对Arg函数求导,结果前面有了一项-3 (x^2)。所以当x是复数时,最终结果当然就是复数。
第二个程序(先赋值的)就不用多解释了,自然是先带入x的数值然后求导,所以看起来是Arg‘[-x^3+8I],因此-3 (x^2) 这一项不是随便加上的。最终结果当然是实数了。不过我没有考虑到的是mathematica对Arg‘[-x^3+8I]的计算结果等同于Arg[-x^3+8I],失策失策!见笑了。

那么对楼主的问题再说几句。1、Arg[]给出结果应当是实数,起码我没有想出来什么情况这个函数会给出复数结果。2、对Arg求导会多出来一些表达式,建议楼主仔细看看这些表达式的结果是否是复数。3、如果楼主珍惜大家的唾沫星子和脑细胞并且不违反保密的话,还是把S1等的表达式贴出来更好一些。
引用回帖:
Originally posted by RongShe at 2010-05-26 00:40:50:

其实先赋值和后赋值结果是一样的,你给的例子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["A ...

10楼2010-05-26 22:49:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 亮亮1283 的主题更新
普通表情 龙 兔 虎 猫 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[教师之家] 某top大学教授说“能够在市场中兑现的能力才是真能力”无比同意! +9 zju2000 2026-09-26 12/600 2026-09-30 09:48 by ckxbear
[有机交流] 同一个分子,一条来自文献,一条来自AI——不告诉你答案,你会选哪条? +4 tianxiaoxian 2026-09-28 7/350 2026-09-30 08:34 by 88817753
[找工作] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +4 ZYXdhzDAy9ZX 2026-09-28 4/200 2026-09-29 16:54 by yCO1Ll7aHtsw
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +4 ZYXdhzDAy9ZX 2026-09-28 4/200 2026-09-29 16:47 by yCO1Ll7aHtsw
[博后之家] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 ZYXdhzDAy9ZX 2026-09-28 3/150 2026-09-29 16:30 by etmYJ6d2rquH
[博后之家] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +3 tqUTOxClQUMF 2026-09-28 3/150 2026-09-29 15:04 by etmYJ6d2rquH
[公派出国] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 tqUTOxClQUMF 2026-09-28 3/150 2026-09-29 14:58 by etmYJ6d2rquH
[考博] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +6 GDBe8tDZqE8z 2026-09-28 6/300 2026-09-29 14:41 by etmYJ6d2rquH
[硕博家园] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 GDBe8tDZqE8z 2026-09-28 3/150 2026-09-29 14:30 by etmYJ6d2rquH
[考研] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 CfXuS1rDhLYN 2026-09-28 3/150 2026-09-29 14:24 by etmYJ6d2rquH
[找工作] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +6 IDs3scOF0tjC 2026-09-28 6/300 2026-09-29 14:13 by etmYJ6d2rquH
[博后之家] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +6 IDs3scOF0tjC 2026-09-28 7/350 2026-09-29 14:07 by etmYJ6d2rquH
[考研] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 ZYXdhzDAy9ZX 2026-09-28 3/150 2026-09-29 06:42 by ZvyPK8n6Nfki
[找工作] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 ZYXdhzDAy9ZX 2026-09-28 3/150 2026-09-29 06:28 by ZvyPK8n6Nfki
[考研] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 GDBe8tDZqE8z 2026-09-28 3/150 2026-09-28 23:12 by b8fCuTHqckEt
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 CfXuS1rDhLYN 2026-09-28 4/200 2026-09-28 22:55 by ez6fGg9abYaj
[公派出国] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +4 IDs3scOF0tjC 2026-09-28 4/200 2026-09-28 22:55 by ez6fGg9abYaj
[找工作] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 IDs3scOF0tjC 2026-09-28 5/250 2026-09-28 22:32 by ez6fGg9abYaj
[考博] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 IDs3scOF0tjC 2026-09-28 6/300 2026-09-28 22:15 by ez6fGg9abYaj
[论文投稿] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +3 CfXuS1rDhLYN 2026-09-28 3/150 2026-09-28 19:08 by 9lS3ad5oOymn
信息提示
请填处理意见