2011-12-15 89 views
1

因为PolarPlot应该键入r = ...类型的命令。如何在mathematica中使用PolarPlot绘制线'y = x'?

但Y = X会导致R键消失。

如何绘制PolarPlot这条线?

+2

你能解释一下你正在试图完成什么?可能有更好的方法来做你想做的事。 – 2011-12-15 04:44:14

+0

对不清楚的问题。我想要一个可以画出r被消除的图像的一般形式。例1:rcosx = rsin(2x)。示例2:rsin(3x)= rcos(x)* sin(2x)。所有示例的r都消失了。现在感谢很多人给我答复,但我不明白哪一个更好地解决了我的问题。 – sam 2012-01-21 03:13:38

回答

2

我建议你使用这样的事情了新的功能。

PolarParametricPlot[ 
    {rT : {_, _} ..} | rT : {_, _}, 
    uv : {_, _, _} .., 
    opts : OptionsPattern[] 
] := 
    ParametricPlot[ 
    Evaluate[# {[email protected]#2, [email protected]#2} & @@@ {rT}], 
    uv, 
    opts 
    ] 

用法:

PolarParametricPlot[{t, 45 Degree}, {t, -10, 10}] 

Mathematica graphics

2

这里为线的形式Y =米×+ B一般极坐标形式:

In[155]:= r /. 
Solve[Eliminate[{x == r Cos[t], y == r Sin[t], y == m x + b}, {x, 
    y}], r] 

Out[155]= {-(b/(m Cos[t] - Sin[t]))} 

当y截距b为零溶液消失。这是有道理的,因为这样的线以恒定的角度绘制,这是有问题的,因为通过改变角度而起作用。

对于b,您可以使用非常小的值来近似这样一条线,但可能有更好的方法。

+0

试图用这种方法绘制解决方案`y == x`也是有问题的,因为无论你选择什么b,它都会有轻微的偏差。 – 2011-12-15 04:45:36

+0

这个解决方案看起来很像一般形式,但是如何用这种方法画图?谢谢〜 – sam 2012-01-13 04:18:27

3

首先,考虑Plot[]哪个“产生f作为从xmin到xmax的函数的图”(我引用了Mathematica文档)。你不能用它来绘制满足方程x = x0的垂直线,因为后者不是x的函数:它不是单值,而是在x0处有无限多的值。

类似地,PolarPlot[]不能用于绘制通过原点的直线,因为它的方程不是θ的函数:它在特定的θ处具有无限多的值(在要求的情况下等于Pi/4 ),但其他地方都没有。 (当然,人们也可以让余角3PI/4为好。)

所以我坚持使用工具指定它不能做,短作弊的

PolarPlot[0, {\[Theta], 0, 1}, 
    Epilog -> Line[{Scaled[{1, 1}], Scaled[{0, 0}]}]] 
1

你可以绘制使用ListPolatPlot行:

ListPolarPlot[{{Pi/4, 5}, {5 Pi/4, 5}}, Joined -> True] 
相关问题