我正在研究二维随机游走的一个标准问题。 具体地说,我正在尝试为R中的环状模型(环状转移矩阵)生成迁移矩阵。 我之前在这里发布过同样的问题:Transition matrix for a two-dimensional random walk in a torus: compute matrix in R 然而,我没有得到任何反馈。 类似于我在那篇文章中提到的,我决定沿着每个维度独立移动。因此,我没有计算圆环迁移矩阵和检索转移概率,而是将来自两个单独的“一维圆形模型”的独立概率相乘。 我不确定这在形式上是否正确,我想在这方面有一些看法。
我试图在MATLAB中完成以下工作
调用循环- for i=1:1000,在循环内部,我使用fminunc优化函数。优化是在一个参数向量上进行的,其中一个参数出现在函数的矩阵中。现在看来,fminunc调用了一种算法,该算法反转矩阵,然后搜索最小值。所发生的情况是,当搜索一个使矩阵不可可逆的最小值时,当MATLAB试图反演矩阵时,它会产生一个误差,循环停止。有什么办法可以让我调整一下吗?或者更不理想的情况是,每当发生这种情况时,MATLAB都会忽略对i值的优化,并继续使用i+1。
假设我有一系列4种可能的马尔可夫状态(A,B,C,D):
X = [A, B, B, C, B, A, D, D, A, B, A, D, ....]
如何使用Python生成马尔可夫变换矩阵?矩阵必须是4x4,表示从每个状态转移到其他3个状态的概率。我已经在网上看了很多例子,但在所有的例子中,矩阵都是给定的,而不是基于数据计算的。我也研究了hmmlearn,但我没有读到如何让它输出转换矩阵的内容。有没有可供我使用的库?
下面是我在Python中尝试做的事情的R代码:
我正试图在一个城市建立土地利用模式。每一次移动或滴答x%(根据滑块),迁徙者(海龟)都会在没有海龟的随机斑块中发芽。目前,我仍然使用下面的代码,它不使用滑块,但具体数字1000 >9,这是接近2%,根据我在安装程序中创建的海龟数量。
外带
ask patches with [pcolor = green and any? turtles-here = false]
[ if random 1000 < 9 [sprout-migrants 1 [
set color red
set shape "default"
set size