用矩阵项制作直方图?

2024-09-30 18:23:31 发布

您现在位置:Python中文网/ 问答频道 /正文

今天我的任务是制作一个柱状图来表示a^n的运算,其中a是一个矩阵,但只针对矩阵中的特定项。在

例如,假设我有一个矩阵,其中的行和为1。第一个条目是某个特定的十进制数。但是,如果我把这个矩阵提升到2次方,那么第一个条目就变成了另外一个东西,如果我把这个矩阵提升到3次方,它又会发生变化,等等,这就是我需要绘制的。在

现在,我尝试创建一个空列表,然后使用for循环将矩阵乘法的结果添加到列表中。但是,它所做的只是将最终矩阵乘法的结果打印到列表中,而不是在每次迭代时打印其值。在

下面是我要说的具体代码:

print("The intial probability matrix.")

print(tabulate(matrix))

baseprob = []

for i in range(1000):

     matrix_n = numpy.linalg.matrix_power(matrix, s)

     baseprob.append(matrix_n.item(0))

print(baseprob)

print("The final probability matrix.")

print(tabulate(matrix_n))

这是完整的代码,以及我得到的输出。在

http://pastebin.com/EkfQX2Hu


Tags: the代码列表for绘制条目矩阵matrix
1条回答
网友
1楼 · 发布于 2024-09-30 18:23:31

当然,它只打印最终值,你要做同样的操作,matrix^s,1000次。您需要让s更改这1000次。在

如果要计算matrix^i中位置matrix(0)的所有值,其中i是从1到{}(您的最终幂)的所有值,请执行以下操作:

baseprob = []

for i in range(1,s): #changed to do a range 1-s instead of 1000

     #must use the loop variable here, not s (s is always the same)
     matrix_n = numpy.linalg.matrix_power(matrix, i)

     baseprob.append(matrix_n.item(0))

然后baseprob将为matrix^1matrix^2等保留{},一直到{}。在

相关问题 更多 >