wolfram-mathematica - 为 NDSolve 编写许多方程
问题描述
我正在尝试编写遗传网络的主方程式,因为它们是许多方程式,我正在尝试制作一个表格以便同时编写所有这些方程式。但是,我不知道如何调整边界,我的意思是:
- 我写了一个包含我需要的所有变量的矩阵:
p={{p11,p12},{p21,p22}}
- 然后我写了一个表格来创建微分方程:
Table[p[[i,j]]'[t]== p[[i-1,j]][t]+p[[i,j-1]][t]+p[[i+1,j]][t]+p[[i,j+1]][t],{i,1,2},{j,1,2}]
- 然而,当 i=1 时的部分 p[[i-1,j]] 是 p[[0,1]] 但它不存在,我需要用 0 代替这个,但我不知道如何。我尝试了 If 但效果不佳。我能做些什么?
解决方案
这对你有用吗?
pf[i_,j_]:=If[i<1||i>2||j<1||j>2,0,p[[i,j]][t]];
Table[p[i,j]'[t]== pf[i-1,j]+pf[i,j-1]+pf[i+1,j]+pf[i,j+1],{i,1,2},{j,1,2}]
返回
{{p[1, 1]]'[t] == p[[1,2]][t] + p[[2,1]][t], p[1, 2]]'[t] == p[[1,1]][t] + p[[2,2]][t]},
{p[2, 1]]'[t] == p[[1,1]][t] + p[[2,2]][t], p[2, 2]]'[t] == p[[1,2]][t] + p[[2,1]][t]}}
推荐阅读
- python - 有人可以解释一下这种热编码器方法是如何工作的吗?
- javascript - 点击事件适用于第三次或第四次尝试按钮
- string - 如何在golang中将[]string或[]byte类型传递给SplitAfterN?
- angular - angular 2+ url 不区分大小写,参数除外
- javascript - 打开模式窗口后无法清除间隔
- python - 熊猫合并两个数据框并删除额外的行
- c# - Post Request 来自 Postman,但不是来自 C# 代码
- android - 查看寻呼机内容不显示
- python - 如何隐藏嵌入在 c++ 应用程序中的 python 代码?
- sql-server - 输出导出到excel