然后在函数中进行分析后绘制数据列表

时间:2015-04-04 09:45:30

标签: r

我开始使用R进行计算流体动力学课程,其中一个开始课程我们应该创建一个能够输出两个数据列表的函数。所以我写了这个函数:

Green.Ampt=function(param){
    k=param[1]
    Psi=param[2]
    DTheta=param[3]
    h=param[4]
    F1=0.65
    F1=0.65
    vector.F2<-1:h
    vector.f<-1:h 
    for(tempo in 1 : h){
        DeltaF=1
        while(DeltaF>0.01) {
            F2=k*tempo+Psi*DTheta*log(F1/(Psi*DTheta)+1)
            DeltaF=abs(F1-F2)
            F1=F2
        }
        vector.F2[tempo]=F2
        vector.f[tempo]= k*(Psi*DTheta/F2+1)}
    OUT<-list(vector.F2, vector.f)
    return(OUT)
}

我使用这个Green.Ampt(c(0.65,16.7,0.34,10))运行该功能然后我控制了控制台收到了以下输出:

[[1]]
[1]  3.152985  4.745484  6.077012  7.284812  8.404389  9.469498
[7] 10.490538 11.474561 12.434380 13.371189`

[[2]]
[1] 1.8205417 1.4277289 1.2573215 1.1566294 1.0891396 1.0397461
[7] 1.0018123 0.9716419 0.9468141 0.9260188`

我想在这两个数据系列中给出一个名称,因为我需要绘制它们,但我没有成功。

1 个答案:

答案 0 :(得分:0)

将函数的返回值保存为对象,在本例中为列表。然后,您可以在调用[[时使用plot表示法提取列表的组成部分:

x <- Green.Ampt(c(0.65,16.7,0.34,10))
plot(x[[1]], x[[2]])

结果如下:

enter image description here

相关问题