从Mathemati转换到Python

2024-04-28 09:58:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下代码来绘制“共振线”:

TuneDiagram[MyOrder_, MyColor_] := Module[{},
  myLines = 
   Partition[
    Flatten[Table[{{A -> a, B -> +MyOrder - a, C -> p}, {A -> a, 
        B -> -MyOrder + a, C -> p}}, {a, 0, MyOrder}, {p, -MyOrder, 
       MyOrder}]], 3];
  myEquation = A  x + B y == C /. myLines;
  ContourPlot[Evaluate[myEquation], {x, 0, 1}, {y, 0, 1}, 
   ContourStyle -> MyColor, PlotRangePadding -> None, 
   GridLines -> None, 
   ]]

我可以得到像这样的情节。在

我想用Python/matplotlib得到相同的结果。在

我完全被这种编程风格“翻译”到Python上感到困惑。任何一个指针都将不胜感激!在

enter image description here


Tags: 代码nonetable绘制modulepartitionevaluate共振
1条回答
网友
1楼 · 发布于 2024-04-28 09:58:07

根据操作人员的要求,这里有一种将myLines转换为参数方程的方法。这可能更容易转换成Python。在

pars = {x, y} /. DeleteDuplicates[
   First@Solve[#, First@Variables@*First@#] & /@ myLines];

使用SolveVariables得到其中一个函数变量中{}中线性函数的参数方程。在

然后用ParametricPlot绘制这些图。我猜Python可以进行参数化绘图。在

^{pr2}$

enter image description here

希望这有帮助。在

相关问题 更多 >