【问题标题】:plot a multiple rule function in mathematica在mathematica中绘制多规则函数
【发布时间】:2011-07-27 18:28:08
【问题描述】:

如何在 Mathematica 中编写与此类似的函数(复杂轮廓)代码:

【问题讨论】:

  • 请允许我欢迎您来到 StackOverflow,并提醒我们通常在这里做的三件事:1) 当您获得帮助时,请尝试在您的专业领域中回答问题 2)Read the FAQs 3)当你看到好的问答时,给他们投票using the gray triangles,因为系统的可信度是基于用户通过分享他们的知识而获得的声誉。还记得接受更好地解决您的问题的答案,如果有的话,by pressing the checkmark sign
  • 我不清楚您所说的“功能”是什么意思。您是否想为数字或符号积分的目的对轮廓进行参数化?丹尼尔·利希特布劳
  • @Daniel:我应该先阅读您的评论,然后再创建图形....
  • @belisarius:你是对的。我会尽量不要忘记记下答案。
  • @asd 查看文档中心中的 Piecewise[]。丹尼尔·利希特布劳

标签: wolfram-mathematica plot


【解决方案1】:

我不确定 c 是什么,但我认为它是一个介于 0 和 1 之间的数字,表示传入直线的高度。那么,也许这样的东西会满足您的需求?

c = 0.7;
t0 = ArcSin[c];
PolarPlot[If[Abs[t] < t0, Abs[Sin[t0]/Sin[t]], 1], {t, -\[Pi], \[Pi]}]

【讨论】:

  • 我猜c 只是一个标签(它是积分 c 的轮廓,因为它通常在书籍等中被称为)。你可以很容易地使用这个包为你的轮廓添加箭头:users.dimi.uniud.it/~gianluca.gorni/Mma/Mma.html
  • 箭头和标签也可以使用下面的 Epilog 来添加... Epilog -> { Arrow[{{2, c}, {1, c}}], Arrow[{{1 , -c}, {2, -c}}], 箭头[{{-1, .1}, {-1, -.1}}], 文本["C", {1.5, c + .1} ], 文本["C", {1.5, -(c + .1)}] }
【解决方案2】:

最直接的方法是使用图形基元 (虽然我认为我更喜欢 Felix 的 PolarPlot 解决方案)

With[{q = Pi/6}, 
 Graphics[{Circle[{0, 0}, 1, {q, 2 Pi - q}], 
   Arrowheads[{{.05, .8}}], 
   Arrow[{{Cos[q] + 2, Sin[q]}, {Cos[q], Sin[q]}}], 
   Arrow[{{Cos[q], Sin[-q]}, {Cos[q] + 2, Sin[-q]}}],
   FontSize -> Medium, Text["\[ScriptCapitalC]", {2, Sin[q]}, {0, -2}]}, 
  Axes -> True, PlotRange -> {{-4, 6}, {-4, 4}}]]

我想如果你想要轮廓的实际功能,那么可能是这样的

contour[t_, t0_: (5 Pi/6)] := Piecewise[{
   {Exp[I (t + Pi)], -t0 < t < t0},
   {t - t0 + Exp[I (t0 + Pi)], t >= t0},
   {-t - t0 + Exp[-I (t0 + Pi)], t <= -t0}}]

ParametricPlot[Through[{Re, Im}[contour[t]]], {t, -8, 8}, PlotPoints -> 30]

要向该图添加箭头,我想您必须手动添加它们(使用Epilog 或绘图工具)或使用修改内置图的软件包之一。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-30
    • 1970-01-01
    • 1970-01-01
    • 2011-07-20
    • 1970-01-01
    • 1970-01-01
    • 2011-09-22
    相关资源
    最近更新 更多