2015-06-03 64 views
2

比方說,我的高度壓力的功能是:如何使用多個參數爲一個函數繪製多個圖?

P(h) = p0 * exp(-h/scale) 

我想畫一組圖形不同的行星;相同的圖形(畫布),但不同的參數,每個星球上有一對(加上星球的名字)參數,不同的是p0scale

我一定要進入「的multiplot」,並呼籲每個組參數相同plot P(h)或者是有一個更合適的方法來獲得一組這樣的圖表前重新分配scale =p0 =

回答

2

可以定義三種不同的空間分隔的字符串,其保持所述參數,然後在它們之間迭代:

p0 = "1 2 3 4" 
scale = "0.1 0.2 0.3 0.4" 
planets = "First Second Third Fourth" 

P(h, n) = (1.0*word(p0, n)) * exp(-h/(1.0*word(scale, n))) 
plot for [i=1:words(planets)] P(x, i) title word(planets, i) 

1.0*用於「轉換」的相應字符串的數。醜陋,但工作。如果你想有點清潔,你可以定義功能p0scale返回根據迭代參數

p0(n) = (n==1 ? 1 : n==2 ? 2 : n==3 ? 3 : 4) 
scale(n) = (n==1 ? 0.1 : n==2 ? 0.2 : n==3 ? 0.3 : 0.4) 
P(h, n) = p0(n)*exp(-h/scale(n)) 
plot for [i=1:words(planets)] P(x, i) title word(planets, i) 
+0

其實,我去的混合方法的一個數字。 'p0(n)= 1.0 * word(p0_w,n)' –

相關問題