2015-06-03 39 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)' –

相关问题