数学建模社区-数学中国

标题: 怎么用Mathematica在一个坐标是里同时绘多个图 [打印本页]

作者: xiaoxing5    时间: 2013-3-24 19:07
标题: 怎么用Mathematica在一个坐标是里同时绘多个图
例如函数F(x,y),怎么使用命令在同一个坐标系里绘制y=1,y=2,y=3,F(x)的函数。并在图中用不同的颜色表示,并说明那种颜色是哪个图。求大神指点!!
+ ^. B4 w% Q( P' }& Q2 V急急急。。。。在线等。。。。。
作者: xiaoxing5    时间: 2013-3-24 20:26
百度搜索,有网友这么解决的http://hi.baidu.com/zhidao200808/item/9fdc1efc61bdcbc8531c26aa,但是本人试过以后还是只画出了其中一个,也没有错误提示,求解答
作者: xiaoxing5    时间: 2013-3-26 14:05
问题已在小木虫上解决,如下. V3 B/ E$ f' K0 M
Plot函数可以有这样的形式的:1 `8 `. m9 k# v% Q* l: W
Plot[{f1,f2,....},{x,x_min,x_max]}]" ~+ k# ~$ ?% O( P9 u
也就是说可以对同一自变量的多个函数进行绘图,所有曲线是在一张图(也就是你说的同一坐标系)里画出来的。
; f! S% w& i; C8 g( p" G) r0 A所以,你一开始要求的画y=1,y=2,y=3,F(x)的图,用我以前说的那个是可以的。9 I# Z& q8 B9 F" H: X. a
再说你第二帖所说的函数,其中a是个变量,x是自变量。就是关于不同的a画多条曲线吧?5 i6 L! _! j! F  A# e/ l# f
按照同样的逻辑,程序写成这样的:* W9 G7 R! n9 ^9 p
y = a x^2 + 2 a Sin[x] - 5" {7 ?+ d) W1 m- Q2 P3 V) B! C
Plot[{y /. a -> 1, y /. a -> 2, y /. a -> 3, y /. a -> 4, # U& Q4 t$ @5 `. \$ I* x3 v
  y /. a -> 5}, {x, -3, 3}]
$ f0 I1 ?7 V' N% |* T看下效果是不是你要的?% @+ l7 w# d+ D
注:由于本人目前没有上传图片的权限,在此就不能把显示效果展示给各位看了,再次再次向小木虫的网友mshwangg表示感谢
作者: joy81890    时间: 2013-3-27 19:43
标题: RE: 怎么用Mathematica在一个坐标是里同时绘多个图
本帖最后由 joy81890 于 2013-3-27 19:51 编辑
2 ~  P2 h: c( r$ u- ?, s$ `; {2 u0 J, u. D. r- r, \( ?/ k
2013-03-27_074359.jpg
作者: xiaoxing5    时间: 2013-3-28 19:07
joy81890 发表于 2013-3-27 19:43

- @: V# J2 y$ U/ G( q8 sF = p1*(p2 + p3 + p4 - p5);
8 y1 V! a7 K: ]* D& n! IPlot[{F /. f -> 0.35, F /. f -> 0.40, % ?0 ]4 Q) Y# C' z# r( c
    F /. f -> 0.45}, {x, -0.001, 0.001}, PlotLegends -> LineLegend[{
! ~1 k6 G1 W8 |      Red, Green, Blue}, {"y=1", "y=3", "y=
% w) b& B- e  m    2"}, LegendFunction -> "Panel", LegendMarkerSize -> {{10, 8}}],
  v' q8 N+ X9 B6 Z$ t! D4 Z+ _      AxesLabel -> {"x", "光 强I"}, PlotStyle -> {Red, Blue, Greenn}];; v1 f8 D0 V9 Z4 F7 P
% _6 a% w* q+ |) i. i2 O
为什么我的程序画不出要想要的图呢?以上是最后画图命令。LegendMarkerSize -> {{10, 8}}这句话是什么意思呢?下面是错误提示
0 t4 B. K  p7 D, A& h0 D1 Y+ S) l) v4 |
Unknown option PlotLegends in \[LeftSkeleton]1\[RightSkeleton]
作者: joy81890    时间: 2013-3-29 07:59
xiaoxing5 发表于 2013-3-28 19:07
: E- x0 b4 N& t5 J1 KF = p1*(p2 + p3 + p4 - p5);
- c( e$ G6 ]8 G; U7 |" l8 RPlot[{F /. f -> 0.35, F /. f -> 0.40, * |* |. C2 J! ]4 v% _6 B
    F /. f -> 0.45}, {x, -0.0 ...

# ?) _# s7 T; @9 n: h可能因为你用的是Mathematica 9 以下的版本,那样的话,就改为:
. f4 x* {3 E4 {Plot[{1, 2, 3}, {x, -0.5, 3}, PlotRange -> {0, 3.5},  PlotLegends -> {"y=1", "y=2", "y=3"}, Ticks -> {{}, {1, 2, 3}},  AxesLabel -> {"x", "y"}]! l* w) |) n4 O

9 @9 ]6 R' O! k% ?! i: |/ V 2013-03-28_195403.jpg + ]' ?( G% z' H  n" g' n
  }4 n% A* O, p( y
有多种方法绘这个图,但这个是我能想到的最简单的,最常规的方法。“LegendMarkerSize -> {{10, 8}}” 是定义图例(Plot Legends Panel))大小。
作者: joy81890    时间: 2013-3-29 08:08
本帖最后由 joy81890 于 2013-3-29 08:12 编辑
9 K: ]* a, c4 Y4 l
. K% m+ m- b+ ^5 l' h- g7 B那可能是因为你用的是Mathematica 9 以下的版本,那就改为:
' y6 m) u2 S: S8 m- [3 f9 A9 ~3 V1 ~0 P: [; H
Plot[{1, 2, 3}, {x, -0.5, 3}, PlotLegends -> {"y=1", "y=2", "y=3"}, PlotRange -> {0, 3.5},  Ticks -> {{}, {1, 2, 3}},  AxesLabel -> {"x", "y"}]( S! B: o9 M1 K: u7 M

; _: c9 _2 r6 G6 Z  [ 2013-03-28_195403.jpg
) f. D2 `: }: N. B5 g  i5 ?+ q& j* i. q- v% h
, Y4 ?/ M* c7 j- p+ K* G
”LegendMarkerSize -> {{10, 8}}“是定义图例(Plot Legends Panel)大小。
作者: xiaoxing5    时间: 2013-4-7 09:51
joy81890 发表于 2013-3-29 08:08 ! S( n/ O5 C- L
那可能是因为你用的是Mathematica 9 以下的版本,那就改为:
& ~: j5 [) p6 R* s( K# l. \% B
+ j4 b# [" p4 ]Plot[{1, 2, 3}, {x, -0.5, 3}, PlotLegend ...

- @( J* _4 j* t" t& r( O  X我用的是5.0,可能是我用的版本太低的缘故吧,系统一直提示不能识别操作。- }" Y$ [; I6 `3 I) B2 _# t. ^
非常感谢热心您的帮助
作者: xiaoxing5    时间: 2013-4-7 09:51
joy81890 发表于 2013-3-29 08:08 / ^# R) R2 H7 b& [! B8 {' y+ Z
那可能是因为你用的是Mathematica 9 以下的版本,那就改为:) c0 A$ {4 w  D( b3 p& t& R1 z
& Z0 \0 L" t) U& h; c2 c( `
Plot[{1, 2, 3}, {x, -0.5, 3}, PlotLegend ...

0 H, k$ c: y6 f/ n$ {* e我用的是5.0,可能是我用的版本太低的缘故吧,系统一直提示不能识别操作。  W. P& R& G' C) g4 p; O9 K
非常感谢热心您的帮助




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5