簡體   English   中英

如何使用 parallelTable 到 plot a function varing 多個參數

[英]How to use parallelTable to plot a function varing more than one parameter

我想 plot G [a,b,L] 固定 b 的值並運行 'a' 從 15 到 60 和 'L' 從 100 到 1000。

F[m1_, m_, L_] := ( m m1 EllipticK[-((4 m m1)/(L^2 + (m - m1)^2))])/Sqrt[L^2 + (m - m1)^2];

FA[a_, b_, L_] := NIntegrate[F[m, m1, L], {m, a, b}, {m1, a, m, b}];
FB[a_, b_] := FA[a, b, 0];
S[a_, b_, L_] := 2 (FB[a, b] - FA[a, b, L]);

G[a_, b_, L_] := 1/(\[Pi] (b ^2 - a^2) L) S[a, b, L]

我使用 Plot[%] 以常規方式執行此操作並手動為其賦值。 然后我重復相同的操作,但這次將“a”固定為 {a,15,60} 之間的任何值,並手動更改“b”的值 {b,67,90}。

我使用 Plot[%] 以常規方式執行此操作並手動為其賦值。 然后我重復相同的操作,但這次將“a”固定為 {a,15,60} 之間的任何值,並手動更改“b”的值 {b,67,90}。

Plot[{G[15, 80, L], G[20, 80, L], G[25, 80, L], G[30, 80, L],G[35, 80, L], G[40, 80, L], G[45, 80, L], G[50, 80, L],G[55, 100, L], G[60, 80, L]}, {L, 100, 1000},PlotStyle -> {{Black, Thick}, {Red, Dotted}, {Blue,Thick}, {Darker[Green], Thick, Dashing[{0.01, 0.02}]} , {Orange,Thick, Dashed} , {Magenta, Thick,Dotted}, {LightGray}, {Yellow}, {Pink}, {Purple,Dashing[{0.022, 0.02, 0.022, 0.02}]}}, AspectRatio -> 1,Frame -> True, FrameStyle -> Directive[{Black, Thickness[0.002]}]]

我見過人們使用 ParallelTable 做這件事非常有效,但我不知道如何做。 你能幫我個忙嗎?

這是一種使用ParallelTable的方法。

styles = {{Black, Thick}, {Red, Dotted}, {Blue, 
   Thick}, {Darker[Green], Thick, Dashing[{0.01, 0.02}]}, {Orange, 
   Thick, Dashed}, {Magenta, Thick, 
   Dotted}, {LightGray}, {Yellow}, {Pink}, {Purple, 
   Dashing[{0.022, 0.02, 0.022, 0.02}]}}

plots = ParallelTable[
   Plot[G[a, b, L], {L, 100, 1000},
    AspectRatio -> 1,
    Frame -> True,
    FrameStyle -> Directive[{Black, Thickness[0.002]}],
    PlotStyle -> styles[[1 + (a - 15)/5]],
    PlotRange -> {{100, 1000}, {0.014, 0.20}},
    PlotLabel -> "b = " <> ToString@b,
    ImageSize -> 500],
   {b, 67, 90, 3}, {a, 15, 60, 5}];

Show @@@ plots // Partition[#, UpTo@2] & // Grid[#, Frame -> All] &

在此處輸入圖像描述

您可能必須為每個b值單獨調整PlotRange以顯示完整范圍。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM