python二维列表长度_python如何使二维数组的高度大于长度

代码如下(意见传播模型):#-*-coding:utf-8-*-"""CreatedonSunMar3020:19:562014@author:wangz"""importnumpyimportmatplotlib.pyplotaspyplotimportrandomL=100#格子大小为L我想让...

代码如下(意见传播模型):

# -*- coding: utf-8 -*-

"""

Created on Sun Mar 30 20:19:56 2014

@author: wangz

"""

import numpy

import matplotlib.pyplot as pyplot

import random

L = 100 #格子大小为 L 我想让time=1000

time = 100 # 迭代time时间步

"""

空间状态用一个二维数组表示,长度为L,高度为time

"""

state = numpy.zeros((L, time), dtype=numpy.int8)

def start_random():

state[0] = numpy.random.random( [1, L] ).round()

def plot():

pyplot.gray()

pyplot.pcolormesh(-numpy.flipud(state))

pyplot.axis([0, L, 0, time])

# empty lists draw no ticks

pyplot.xticks([])

pyplot.yticks([])

pyplot.show()

pyplot.pause(0.0000001)

def step():

"""

这里用的是固定边界

所以从1循环到L-2,两边的格子0和L-1两个格子的状态一直保持0不变

"""

for t in range(1,time,1):

j=random.randint(2, L-3)

for i in range(L):

state[t,i]=state[t-1,i]

if state[t-1,j]==state[t-1,j+1]:

state[t,j-1]=state[t-1,j]

state[t,j+2]=state[t-1,j]

elif state[t-1,j]!=state[t-1,j+1]:

state[t,j-1]=state[t-1,j]

state[t,j+2]=state[t-1,j+1]

plot()

def demo():

"""

首先给定规则,0到255之间的值

"""

"""

给定初始化方式,

也可以随机初始状态开始

"""

start_random()

"""

迭代循环,反复调用规则,将state数组充满

"""

step()

if __name__ == '__main__':

demo()

ValueError: could not broadcast input array from shape (100) into shape (1000)

这是错误

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值