2013-01-07 8 views
6

私が問題に直面したときに私はRで微分方程式を解いていました。アイソクロラインと方向フィールドをプロットに追加する必要がありましたが、どのパッケージをインストールすればいいですか/私は何を呼び出すべきですか?ここでプロットするアイソクロラインおよび/または方向フィールドを追加

+1

'ライブラリ(「SOS」)findFn(「等傾線」 ) '私に' LVCompGames'パッケージを与えます:これは等値線と初期点のプロットを生成します。 – agstudy

+0

私はあなたが*手動でそれを行う必要があると思います。私は多くの人がこれを行うために独自のコードを書いていると思うが、パッケージ化されたバージョンについてはわからない(@ agstudyの答えに基づいて、私は疑問に思う1 - isoclineはかなり信頼できる検索キーワード)。 isoclinesを見つけることは(残念ながら)まったく簡単なことではありません... –

+0

申し訳ありません、パッケージ名は 'primer'です.LVCompGamesはisoclines関数です – agstudy

答えて

2

は答えが、コメントで与えられた回答の要約だけではありません。

  • LVCompGamesprimerパッケージこのプロットを与える:

enter image description here

  1. この@Ben Bolkerによって与えられる解です。このソリューションは、graphicsパッケージとfilled.contour機能に基づいています。

enter image description here

  • その後@Joshオブライエン提案vectorplot機能付きrasterVisパッケージ

enter image description here

私はすべての答えをカスタマイズすることができると思いますが、私たちに多くの情報を与える場合あなたが出力として望むものの

+0

ありがとう、あなたは私をたくさん助けました。私は本当にこの質問であなたを気にかけて申し訳なく思っています。今は難しくありませんでした。もう一度ありがとう、サイトに貢献できることを願っています。 – user1955058

+0

あなたはウェルカムです。答えがあなたの蘇生に合っていれば、答えの左側にあるチェックボックスをチェックすることでそれを受け入れることができます。 – agstudy

0

TeachingDemosパッケージのmy.symbols機能を使用すると、独自のシンボルを定義して既存のプロットに追加することができます。サポート機能ms.arrowsは既にプロットに追加する基本的な矢印をコード化していますので、追加するシンボルを作成するために簡単に変更することができます。

0

phaseRという素晴らしいパッケージがあります。これはパッケージdeSolveのODEソルバーを使用しています。空白や軌跡などを簡単に追加できます。 ODE関数 "t"、 "y"、 "parameters"のパラメータに必ず名前を付けるようにしてください。さもなければPHASER関数はエラーを与える:ここ

Error in deriv(t = 0, y = c(x[i], y[j]), parameters = parameters) :
unused arguments (y = c(x[i], y[j]), parameters = parameters)

はロトカ・ボルテラ捕食者 - 獲物システムのための作業コードの例である:

require(deSolve) 
require(phaseR) 

model.LV <- function(t, y, parameters){ 
    with(as.list(parameters),{ 

    N<-y[1] 
    P<-y[2] 
    dN <- a*N - b*N*P 
    dP <- c*N*P -d*P 

    list(c(dN,dP)) 
    }) 
} 

params.LV<-c(a=0.4, b=0.3, c=0.1, d=0.2) 

data.LV<-as.data.frame(lsoda(c(N=1,P=1),seq(1,250,by=0.5), model.LV, params.LV)) 
# plot the time series of both populations 
plot(data.LV$time,data.LV$N, main="Time series of L-V equations", xlab="time", 
    ylab="Population densities N, P", 
    type="l", col="green", 
    ylim=c(0,max(data.LV$N,data.LV$C))) 
lines(data.LV$time,data.LV$P,col="red") 

# plot the trajectories of the system 
plot(data.LV$N, data.LV$P, type="l", col="blue", main="Trajectory of L-V equations", 
    xlab="Prey density N", ylab="Predator density P", xlim=c(0,5), ylim=c(0,3)) 
#add Nullclines 
nullclines(model.LV, x.lim=c(0.1,5),y.lim=c(0.1,3), parameters=params.LV, system="two.dim", colour=c("green","red"), add=TRUE) 
関連する問題