24小时热门版块排行榜    

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

onexf766

木虫 (正式写手)

[求助] 如何用mathematica 9做一个关于极坐标的函数(如f(r,theta))的contour图? 已有1人参与

如何用mathematica 9做一个关于极坐标的函数(如f(r,theta))的contour图?

如 f=r/2(1-1/r^2)+r/2Cos[2*theta](1-1/r^2)(1-3/r^2)

将坐标变换:
r = x^2.0 + y^2.0; theta = AcrTan[y/x];

作图:
ContourPlot[
0.5 (1 - 1.0/(x^2.0 + y^2.0)^2) +
  0.5 (1 - 3.0/(x^2.0 + y^2.0)) (1 - 1.0/(x^2.0 + y^2.0)^2) Cos[
    2 ArcTan[y/x]], {x, 0, 2}, {y, 0, 2}, Contours -> 100]

发现作出来的图有很地方不对,请问有没更好的解决办法?
如何用mathematica 9做一个关于极坐标的函数(如f(r,theta))的contour图?
P165exp1.jpg
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

onexf766

木虫 (正式写手)

引用回帖:
2楼: Originally posted by chyanog at 2013-11-14 12:39:55
With[{r = Sqrt, th = ArcTan},
ContourPlot
]

谢谢你,你的和我没有差别
可能是我没有表达清楚。我的意思是:要做一个图,它的取值范围在 1<r<2,也就是在0<r<1范围为空白(这样就不会出来那些难看的黑线了)。不要说另外用一个函数的图来遮住它哦,那样早我想过了,我主要是想做一个极坐标表示的更为复杂的图,这只是举个简章的例子。
3楼2013-11-16 21:09:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 7 个回答

chyanog

金虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
CODE:
With[{r = Sqrt[x^2 + y^2], th = ArcTan[x, y]},
ContourPlot[
  r/2 (1 - 1/r^2) + r/2 Cos[2*th] (1 - 1/r^2) (1 - 3/r^2), {x, 0,
   2}, {y, 0, 2}]
]

2楼2013-11-14 12:39:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhb135

金虫 (正式写手)

【答案】应助回帖

提取数据放到origin里面吧、origin画的图很漂亮的
:D:D:D:D:D:D:D:D:D:D:D:D:D:D:D:D
5楼2013-12-17 20:40:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

walk1997

金虫 (著名写手)

引用回帖:
3楼: Originally posted by onexf766 at 2013-11-16 21:09:19
谢谢你,你的和我没有差别
可能是我没有表达清楚。我的意思是:要做一个图,它的取值范围在 1<r<2,也就是在0<r<1范围为空白(这样就不会出来那些难看的黑线了)。不要说另外用一个函数的图来 ...

ContourPlot[f, {x, 0, 2}, {y, 0, 2}, Contours -> 100,
RegionFunction -> Function[{x, y}, 1 < x^2 + y^2]]
6楼2013-12-17 22:43:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见