如何在mathematica中使用PolarPlot绘制'y = x'行?

时间:2011-12-15 03:59:16

标签: wolfram-mathematica

因为PolarPlot应输入r = ... type of command。

但是y = x会导致r消失。

如何使用PolarPlot绘制该行?

4 个答案:

答案 0 :(得分:3)

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

类似地,PolarPlot[]不能用于绘制穿过原点的直线,因为它的方程不是θ的函数:它在特定θ处具有无限多的值(等于Pi / 4 in案件要求),但其他地方都没有。 (嗯,也可以允许互补角度3Pi / 4。)

所以我认为使用指定的工具无法完成,缺少作弊

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

答案 1 :(得分:2)

以下是 y = m x + 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 为零时,解决方案消失。这是有道理的,因为这些线以恒定的角度绘制,这是有问题的,因为PolarPlot通过改变角度来工作。

你可以通过使用 b 的非常小的值来估计这样一条线,但可能有更好的方法。

答案 2 :(得分:2)

我建议您使用新功能。

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

用法:

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

Mathematica graphics

答案 3 :(得分:1)

您可以使用ListPolatPlot绘制线条:

ListPolarPlot[{{Pi/4, 5}, {5 Pi/4, 5}}, Joined -> True]