24小时热门版块排行榜    

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

wocamuchong

铁虫 (小有名气)

[求助] 疑问关于Mathematica plot 已有1人参与

我用以下(见附件的两个图)的代码去画函数。用函数本身去画,可以画出来,但是当用函数名字时,画不出来,这是什么原因,谢谢。

疑问关于Mathematica plot
Capture d’écran 2015-02-20 à 12.15.41.png


疑问关于Mathematica plot-1
Capture d’écran 2015-02-20 à 12.15.53.png
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xzczd

木虫 (小有名气)

★ ★
ben_ladeng: 金币+2, 谢谢指教 2015-02-22 18:45:06
引用回帖:
3楼: Originally posted by wocamuchong at 2015-02-20 23:59:46
是啊,我想知道啊,我对mathematica了解不多,现学现用,麻烦了,谢谢。...

那就解释一下。问题核心在于Plot函数具有HoldAll属性(印象里所有画图函数都有这个属性),这个属性会先对被用于画图的表达式赋值再计算该表达式,对于你的表达式而言,这就意味着
CODE:
Subscript[\[Rho], 0][r]

将会变成
CODE:
Subscript[\[Rho], 0][(* 某个数字 *)]

这样自然计算不出任何值。而我加了 //Evaluate 则会强制计算你那个表达式,你的表达式计算后得到 21 r,此后再赋值当然也就没有问题了——于是,Mathematica咋这么不好用?我就想给我的表达式起个函数名都不行?当然行,但是你得使用正确的函数定义方法,也就是说,只要你把
CODE:
Subscript[\[Rho], 0][r] = Subscript[\[Rho], 0][r] + r

改成
CODE:
Subscript[\[Rho], 0][r_] = Subscript[\[Rho], 0][r] + r

就行了。

此外可说的地方其实还有很多。
1 提问的时候只贴图片不贴代码是个不好的习惯。
2 For循环在Mathematica里在大多数大多数大多数的情况下都是应该避免的,你这代码也不例外。
3 下标实际上也是应该避免的,不论是从输入的方便程度考虑还是从编程方便程度上来考虑,都应该使用诸如\[Rho][0][r]之类的书写…啊,细说下去又没完了,就此打住。总之,下面哪个写法都比For循环强:
CODE:
Nest[r + # &, 0, 21]
Total@Table[r, {21}]
Sum[r, {21}]

更多的内容,你就好好翻翻软件的自带帮助吧。
小木虫Mathematica版块已毁(当然原本也不咋的),建议大家前往百度贴吧或Stackexchange。
4楼2015-02-21 19:37:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 4 个回答

xzczd

木虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
wocamuchong: 金币+10 2015-02-20 23:59:11
简单的回答:最后一行里面加个Evaluate,也就是
CODE:
Plot[Subscript[\[Rho], 0][r] // Evaluate, {r, 0, 20}]

原因嘛……你想听就追问一下。
小木虫Mathematica版块已毁(当然原本也不咋的),建议大家前往百度贴吧或Stackexchange。
2楼2015-02-20 23:14:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wocamuchong

铁虫 (小有名气)

引用回帖:
2楼: Originally posted by xzczd at 2015-02-20 23:14:39
简单的回答:最后一行里面加个Evaluate,也就是
Plot[Subscript // Evaluate, {r, 0, 20}]

原因嘛……你想听就追问一下。

是啊,我想知道啊,我对mathematica了解不多,现学现用,麻烦了,谢谢。
3楼2015-02-20 23:59:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 2019年青年基金涵评意见,大家看看几个A,几个B? +9 Tide man 2026-08-11 9/450 2026-08-12 20:30 by 微不足道士
[基金申请] FileCode能看出啥? +8 要乐观耀哥 2026-08-10 21/1050 2026-08-12 16:08 by 云上清扬
[论文投稿] 职称评审,求友友推荐见刊最快的期刊 +4 工厂打螺丝 2026-08-08 4/200 2026-08-12 09:18 by hansi2025
[基金申请] 奇怪,两个人的filecode固定段从头到尾一模一样 +7 布布和一二 2026-08-10 10/500 2026-08-12 09:12 by 布布和一二
[基金申请] 小木虫上这么多卖论文的,真有人买论文么?感觉没必要啊 +8 Tide man 2026-08-10 9/450 2026-08-11 20:39 by beefly
[基金申请] 有时候,自然基金真的不能太认真 (我的申报经验) +3 majunge000 2026-08-11 4/200 2026-08-11 20:13 by lch2012
[基金申请] 为什么网上很多人说本周 12号出结果 +6 瞬息宇宙 2026-08-10 7/350 2026-08-11 19:25 by Tide man
[硕博家园] 读博的好处 +3 lnee 2026-08-11 3/150 2026-08-11 18:10 by 希望我好好的
[基金申请] 分享一下我之前已中青C的计划书的filecode +3 布布和一二 2026-08-11 4/200 2026-08-11 15:20 by aasahr
[基金申请] 我的国基提前知道中了,可是同事的操作让我实在接受不了,怎么会有这样的人 +8 家与远方 2026-08-10 13/650 2026-08-11 09:49 by 家与远方
[基金申请] 基金中了 +15 laoda193707 2026-08-06 15/750 2026-08-11 00:11 by jiafei2190
[基金申请] 静等基金结果 +5 gjjjzhong 2026-08-10 16/800 2026-08-10 17:19 by Tide man
[基金申请] 据悉今年马上要出结果了 +7 瞬息宇宙 2026-08-10 8/400 2026-08-10 12:42 by Vivilian
[基金申请] filecode与中标关系的预测 +5 布布和一二 2026-08-07 5/250 2026-08-09 16:15 by 袁向阳007
[基金申请] fileCode有新解读? +10 Tide man 2026-08-08 18/900 2026-08-09 12:55 by 仁砚薪传
[基金申请] 关于filecode,很负责任的告诉大家 +6 爱看书的可乐 2026-08-08 7/350 2026-08-08 22:13 by a_niu
[基金申请] 关于豆爷回答的JTJC与%2F数量 +5 yang182083 2026-08-06 7/350 2026-08-08 18:29 by zhanghaozhu
[基金申请] 化学口download_prp&fileCode的固定段好像这几天一直没变,有变的大神么? +3 Tide man 2026-08-07 4/200 2026-08-07 22:39 by Tide man
[基金申请] 固定端突然变了,今天 +6 archvillain 2026-08-06 10/500 2026-08-07 16:03 by 医学老男孩
[基金申请] filecode +8 布布和一二 2026-08-06 11/550 2026-08-06 20:41 by tangpu318
信息提示
请填处理意见