我绝对是编程的初学者。并尝试编写了两个系统相互作用的Euler方法的算法。当我运行代码时,我得到了这个错误消息。如果你帮助我,我会很感激的。谢谢.
IndexError:列表赋值索引超出范围
import numpy as np
from matplotlib import pyplot as plt
import math```
U_0 = np.array([1,1])
V_0 = np. array([6,4])
n = 101
D= 7
alpha = 1
ep=0.5
dt=0.001
U = []
V = []
U[0] = U_0
V[0] = V_0
def NmDef(U1, V1, U2, V2):
Nm = math.sqrt((U1-V1)**2+(U2-V2)**2) #sqrt
return Nm
NmDef_value = []
for i in range(n):
i +=1
L = NmDef(U[i], V[i], U[i-1], V[i-1])
print(i, L)
NmDef_value.append(L)
for i in range (n):
rho_0=(D-L)*(D>L) #D-norm(U-V)
rho_e=(D*(1+ep)-L)*((D*(1+ep))>L)
d=(V[i]-U[i])/L
Fa=D/alpha*1.872*rho_e*d
Fr=-D/alpha*15.6*rho_0^3*d
U = np.zeroes([n])
V = np.zeroes([n])
#for loop for Euler's method
for i in range (n):
U[i]=U[i-1]+dt*(Fa[i]+Fr[i])
V[i]=V[i-1]-dt*(Fa[i]+Fr[i])
for i in range (n):
print(U[i], V[i])
我可以看到在for循环中有很多错误。在这个for循环中,首先有:
NmDef_value = []
for i in range(n):
i +=1
L = NmDef(U[i], V[i], U[i-1], V[i-1])
print(i, L)
NmDef_value.append(L)
在这段代码中,foor循环在每一步都将i值递增1。在你的例子中,它是以1递增,你也是以1递增,所以每次迭代,你都是以2递增i。当您到达列表的最后一个元素时,您将拥有i=n
,并且您只能使用值为n-1的列表元素,否则您将获得超出范围的索引。您可以这样修复它:
NmDef_value = []
for i in range(n):
L = NmDef(U[i], V[i], U[i-1], V[i-1])
print(i, L)
NmDef_value.append(L)
对于第二个For循环:
for i in range (n):
U[i]=U[i-1]+dt*(Fa[i]+Fr[i])
V[i]=V[i-1]-dt*(Fa[i]+Fr[i])
for i in range (n):
print(U[i], V[i])
在这一个中,对于i=0,你试图访问u[i-1],所以它是u[-1],它也会超出范围。您可以添加一个可以用1启动for循环,如下所示:for i in range(1,n)
依旧没有问八股和手撕代码,😂但是就一个项目聊了半小时,面试官表示和他们需要的岗位和匹配,并和我传授了许多人生哲理,受益匪浅,其实还是想去锻炼一下的,之前啥都没找是因为毕业后不想留在北京不想留在互联网上企业,但实习内容与目前项目很相关还是可以考虑的 面试官说下一步联系一下hr看看还要走什么流程,应该技术面就两次吧。 #小米#
本没打算写面经的,但二面面试官水平实在太高,写贴记录(面试在去年11月和12月,现在才发)。 一面是一位小哥,问了常规八股(太久没面了,答得都不太好)和实习内容,并不难,跟找实习难度差不多,但我只能给自己一个勉强及格线的分数。以为要寄了,居然有了二面(70min)。 主要都在忙着实习的任务,依旧没做任何准备就上了,毕竟鼠鼠对秋招也是半放弃的状态了/(ㄒoㄒ)/~~ 上来先问了非技术问题: 对工作的
本文向大家介绍innodb系统表空间维护方法,包括了innodb系统表空间维护方法的使用技巧和注意事项,需要的朋友参考一下 环境说明: 有一个在运行中的mysql环境,由于之前的配置文件设置的过于简单(没有配置innodb_data_file_path变更);造成现在系统表空间已经满了 如果innodb_data_file_path之前没有设置那么它会采用默认值:innodb_data_file_
二面时间 2023-6-26 10:00 - 10:30 30min 面试内容 总览 有没有了解过岗位 jd?和个人发展 怎么样? 有用过哪些 数据库工具?DDL和DML有什么区别 系统运维对哪一块比较了解?有没有用过k8s? 你有哪些优势?还有哪些缺点?不足需要补足短板有哪些? 为什么选择来杭州实习? 有没有收到其他的offer?不满意的地方在哪里? 对公司有没有什么了解?然后给我简单介绍了,有
1.自我介绍 2.docker部署的网络模式有哪些? 3.docker怎么包含最小化的操作系统镜像? 4.使用过tmocat和nginx吗? 5.nginx正向和反向代理 6.dns和https端口多少? 7.redis使用过吗? 8.mysql的部署模式有哪些? 9.rabbitmq和rocketmq区别? 10.Linux 如何过滤包含关键字的文件? 11.prometheus和grafana
整合第三方系统: 该文档正在编写中...