24小时热门版块排行榜    

查看: 2718  |  回复: 8

luwei_6

铜虫 (小有名气)

[交流] 【讨论】Mathematica分段函数绘图问题 已有4人参与

我用的版本是Mathematica7.0.1,要把分段函数整个区间画在一张图上,发现问题:
假如x≤2时,函数f=a(x);x≥2时,f=b(x),按照Mathematica分段函数表述形式画图:
f[x_]:=a[x];x≤2
f[x_]:=b[x];x≥2
Plot[f[x],{x,0,4}]
则在0-4整个区间上被单纯的b的图覆盖,而并不是分段函数的图。如果用Show命令:
f[x_]:=a[x]
g[x_]:=b[x]
f1=Plot[f[x],{x,0,2}]
g1=Plot[g[x],{x,2,4}]
Show[f1,g1]
则显示Show[f1的图,g1的图],且f1横轴扩展到4,或者只有f1的图。

       请问这是怎么回事?分段函数在整个区间上的图要怎么画?

[ Last edited by luwei_6 on 2010-7-7 at 14:06 ]
回复此楼

» 猜你喜欢

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

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

resonant

木虫 (正式写手)

独自为政

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+1):谢谢参与应助! 2010-07-08 09:38:06
你这样做的时候有没有修改 displayfunction?
交朋识友,猛搞科研。两手抓,两手都要硬。
2楼2010-07-07 20:16:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mshwangg

至尊木虫 (正式写手)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+2):谢谢参与应助! 2010-07-08 09:41:16
引用回帖:
Originally posted by luwei_6 at 2010-07-07 13:59:07:
f[x_]:=a[x];x≤2
f[x_]:=b[x];x≥2
Plot[f[x],{x,0,4}]
则在0-4整个区间上被单纯的b的图覆盖,而并不是分段函数的图。

你这里的函数定义的有问题。定义f[x]=b[x]的时候将覆盖上一个定义f[x]=a[x],所以画出图来就是b了。函数这样定义就可以了:
f[x_]:=If[x<=2,a[x],b[x]]
引用回帖:
Originally posted by luwei_6 at 2010-07-07 13:59:07:
如果用Show命令:
f[x_]:=a[x]
g[x_]:=b[x]
f1=Plot[f[x],{x,0,2}]
g1=Plot[g[x],{x,2,4}]
Show[f1,g1]

这样是可以画出来的,不过向resonant说的Show函数应加上绘图选项,
Show[f1,g1, PlotRange->All]
3楼2010-07-07 22:03:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

luwei_6

铜虫 (小有名气)

引用回帖:
Originally posted by mshwangg at 2010-07-07 22:03:52:

你这里的函数定义的有问题。定义f[x]=b[x]的时候将覆盖上一个定义f[x]=a[x],所以画出图来就是b了。函数这样定义就可以了:
f[x_]:=If[x<=2,a[x],b[x]]


这样是可以画出来的,不过向resonant说的Show函 ...

多谢啊!回答很详细,帮了大忙
4楼2010-07-08 16:56:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

luwei_6

铜虫 (小有名气)

引用回帖:
Originally posted by mshwangg

再请问一下,如果是三段的分段函数a[x],b[x],c[x],定义域分别为<=0,0-2,>=2呢?
还有,我想只把纵轴的坐标变成Pi/2,Pi…,而横轴保持原样该怎么办?
5楼2010-07-11 13:07:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xxppyy

木虫 (小有名气)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+1):谢谢参与应助!欢迎常来程序语言版! 2010-07-11 18:04:46
三段:
     f[x_]:=If[x<=0,a[x],If[0
6楼2010-07-11 17:29:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mshwangg

至尊木虫 (正式写手)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
resonant(金币+1):信息费:-) 2010-07-11 22:41:46
自定义函数可参考xxppyy的做法
改变纵坐标有两种方法,第一种有点无赖:计算出的F[x]数值除以Pi/2再画图,不用多解释了吧?第二种在Plot函数中加一个绘图参数Ticks;假定横轴坐标范围是-1到1,纵轴坐标从0到Pi,那么可以这样写Ticks -> {{-1, 0, 1}, {0, Pi/2, Pi}}。还不明白看看帮助例程。
引用回帖:
Originally posted by luwei_6 at 2010-07-11 13:07:43:

再请问一下,如果是三段的分段函数a[x],b[x],c[x],定义域分别为<=0,0-2,>=2呢?
还有,我想只把纵轴的坐标变成Pi/2,Pi…,而横轴保持原样该怎么办?

7楼2010-07-11 22:39:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

luwei_6

铜虫 (小有名气)

引用回帖:
Originally posted by mshwangg at 2010-07-11 22:39:48:
自定义函数可参考xxppyy的做法
改变纵坐标有两种方法,第一种有点无赖:计算出的F[x]数值除以Pi/2再画图,不用多解释了吧?第二种在Plot函数中加一个绘图参数Ticks;假定横轴坐标范围是-1到1,纵轴坐标从0到Pi, ...

第二种方法我知道,但是那样会消去横轴的小刻度,我想保留小刻度
8楼2010-07-12 19:24:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mshwangg

至尊木虫 (正式写手)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
resonant(金币+1):信息费:-) 2010-07-12 23:39:36
Ticks -> {Automatic, {0, Pi/2, Pi}}
这样就行了
引用回帖:
Originally posted by luwei_6 at 2010-07-12 19:24:55:
第二种方法我知道,但是那样会消去横轴的小刻度,我想保留小刻度

9楼2010-07-12 22:41:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 luwei_6 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 欢迎发来filecode的Mz6后的代码验证其规律 +36 医学老男孩 2026-08-13 85/4250 2026-08-17 21:23 by lcmdlut
[基金申请] 感觉是下周放榜了 +5 angus9576 2026-08-17 9/450 2026-08-17 20:57 by ssxclkj
[基金申请] filecode=后面第一个是大写字母 +8 wangze12014 2026-08-14 10/500 2026-08-17 17:05 by xter9665
[基金申请] 时间戳变了,能看出什么问题? +4 基诺咪客 2026-08-17 4/200 2026-08-17 16:10 by Vivilian
[基金申请] 哪位老哥知道今年的国自然具体哪一天放榜? +12 Ldrop2023 2026-08-13 15/750 2026-08-17 15:02 by 小豌豆_发芽
[基金申请] 今天系统多次维护,明天很可能放榜! +8 zju2000 2026-08-16 9/450 2026-08-17 12:20 by lmz0216
[基金申请] 时间戳又变了8-15 +13 archvillain 2026-08-15 25/1250 2026-08-16 20:13 by zhaosm1982
[基金申请] 快农历七夕节了,轻松一下,男人悄悄话,女施主请不要进来。 +3 Tide man 2026-08-14 3/150 2026-08-16 17:47 by jurkat.1640
[基金申请] 咱们一起用铁证分析2026国家社科基金中标与否 +7 启萌科技 2026-08-12 26/1300 2026-08-16 12:35 by 启萌科技
[基金申请] 有时候,自然基金真的不能太认真 (我的申报经验) +10 majunge000 2026-08-11 12/600 2026-08-16 08:18 by xli1984
[精细化工] 招聘 金属平磨液,抛光液研发工程师 +3 小天0311 2026-08-14 3/150 2026-08-16 07:31 by H9PLUS
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
[基金申请] 是这周出结果还是下周出结果? +4 yuleib84 2026-08-11 4/200 2026-08-14 23:05 by lfy8008
[硕博家园] 读博的好处 +4 lnee 2026-08-11 4/200 2026-08-14 10:20 by ahsoarli
[基金申请] 重要来源:本周末出结果 +10 瞬息宇宙 2026-08-12 10/500 2026-08-13 15:46 by likettle
[基金申请] 不应该看fileCode +7 且听虎啸 2026-08-12 9/450 2026-08-13 14:27 by flydreamws
[基金申请] Filecode 又变了,巨变 +3 WH3796 2026-08-12 4/200 2026-08-13 14:13 by 小木虫6752397
[基金申请] 结合人工智能,周易传统文化,filecode打分制来了,3分以上希望很大。 +3 Tide man 2026-08-12 4/200 2026-08-13 08:35 by ZJTJZ
[基金申请] 2019年青年基金涵评意见,大家看看几个A,几个B? +11 Tide man 2026-08-11 11/550 2026-08-13 07:35 by 撸猫猫
[基金申请] 什么时候出结果,有咨询渠道??? +3 Tide man 2026-08-11 3/150 2026-08-11 17:54 by kudofaye
信息提示
请填处理意见