2

Simbiologyを使用してモデルを構築しています。私は実際にSBMLファイルからモデルを読み取っています。モデルをロードした後に得られるものは次のとおりです

m1

SimBiologyモデル-Model1

モデルコンポーネント:コンパートメント:1イベント:0パラメーター:200リアクション:200ルール:0種:100

でも、

m1.Parametersは

ans =

空行列:0行1列

私が信じる理由は、すべてのパラメーターに「反応」スコープがあるためです。コマンドラインでそれらすべてを「モデル」スコープにするにはどうすればよいですか?

また、Reaction Objectを介してパラメーター(値またはスコープ)にアクセスできませんでした。パラメータ値とスコープにアクセスするにはどうすればよいですか(スコープがReactionにスコープされている場合)?

ここでの助けをいただければ幸いです。

ありがとう!アイシャ

PS-私はMathworksNewsreader(ユーザーフォーラム)にも同じ質問を投稿しました。誰かがそこまたはここから返信することを願っています。

4

2 に答える 2

2

Pramodもユーザーフォーラムに回答を投稿しましたが、完全を期すためにここにコピーしたいと思います。

-アーサー


次のコードは、パラメーターのスコープをリアクションからモデルに変更する方法を示しています。

%lotkaをロードします。m1 = sbmlimport('lotka')

%モデルレベルのパラメータはありませんm1.Parameters

%i = 1:numel(m1.Reactions)p = m1.Reactions(i).KineticLaw.Parameters;のモデルにリアクションからパラメーターをコピーします。copyobj(p、m1)delete(p)end

m1。パラメータ

同じ名前のパラメーターが複数ある場合、モデルではパラメーターに一意の名前が必要になるため、エラーが発生することに注意してください。

上記のコードに示されているように、次の方法でリアクションスコープのパラメーターにアクセスできます。

反応.KineticLaw.Parameters

于 2012-05-02T00:48:55.340 に答える
1

パラメータを表示するためだけにパラメータのスコープをModelに変更したくない場合があります。これにより、モデルの構造が変更され、シミュレーションが不可能になる可能性があります。

コマンドを使用して、モデル内のすべてのパラメーターを表示できます

sbioselect(m1, 'Type', 'parameter')

パラメータがモデルではなくリアクションにスコープされている場合、その親はリアクション自体ではなく、リアクションのKineticLawです。したがってr、関心のある反応である場合は、でパラメータを取得できますr.KineticLaw.Parameters

お役に立てば幸いです。

于 2012-05-01T16:50:11.693 に答える