2024年最新view的绘制流程面试,四阶Runge-Kutta(Python实现),2024年最新面试官不讲武德怎么办

收集整理了一份《2024年最新Python全套学习资料》免费送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img



既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Python知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来

如果你需要这些资料,可以添加V无偿获取:hxbc188 (备注666)
img

正文

return df

def f3(x,y1,y2,y3):

df=-0.013y1-1000y1y2-2500y2*y3

return df

def RK4(x, y1, y2,y3, h):

“”"

:param x: Initial value of X

:param y1: Initial value of y1

:param y2: Initial value of y2

:param y3: Initial value of y3

:param h: time step

:return: New iterative solution

“”"

xarray, y1array, y2array,y3array = [], [], [], []

while x <= 0.02:

xarray.append(x)

y1array.append(y1)

y2array.append(y2)

y3array.append(y3)

x += h

K_1 = f1(x, y1, y2,y3)

L_1 = f2(x, y1, y2,y3)

M_1 = f3(x, y1, y2,y3)

K_2 = f1(x + h / 2, y1 + h / 2 * K_1, y2 + h / 2 * L_1 , y3 + h/2 * M_1)

L_2 = f2(x + h / 2, y1 + h / 2 * K_1, y2 + h / 2 * L_1 , y3 + h/2 * M_1)

M_2 = f3(x + h / 2, y1 + h / 2 * K_1, y2 + h / 2 * L_1, y3 + h / 2 * M_1)

K_3 = f1(x + h / 2, y1 + h / 2 * K_2, y2 + h / 2 * L_2 , y3 + h/2 * M_2)

L_3 = f2(x + h / 2, y1 + h / 2 * K_2, y2 + h / 2 * L_2 , y3 + h/2 * M_2)

M_3 = f3(x + h / 2, y1 + h / 2 * K_2, y2 + h / 2 * L_2, y3 + h / 2 * M_2)

K_4 = f1(x + h, y1 + h * K_3, y2 + h * L_3, y3 + h * M_3)

L_4 = f2(x + h, y1 + h * K_3, y2 + h * L_3, y3 + h * M_3)

M_4 = f3(x + h, y1 + h * K_3, y2 + h * L_3, y3 + h * M_3)

y1 = y1 + (K_1 + 2 * K_2 + 2 * K_3 + K_4) * h / 6

y2 = y2 + (L_1 + 2 * L_2 + 2 * L_3 + L_4) * h / 6

y3 = y3 + (M_1 + 2 * M_2 + 2 * M_3 + M_4) * h / 6

return xarray, y1array, y2array,y3array

def main():

xarray, y1array, y2array,y3array = RK4(0, 1, 1, 0, 0.0001)

print(“Runge Kutta numerical results”.center(168))

print(‘-’ * 420)

#\t :表示空4个字符,类似于文档中的缩进功能,相当于按一个Tab键。

print(“object\time\t”, “x=0\t\t”, " x=0.001\t\t"," x=0.002\t\t"," x=0.003\t\t", " x=0.004\t\t\t"," x=0.005\t\t",“x=0.006\t\t”,“x=0.007\t\t”,“x=0.008\t\t”,“x=0.009\t\t”,

“x=0.010\t\t”,“x=0.011\t\t”,“x=0.012\t\t”,“x=0.0013\t\t”,“x=0.014\t\t”,“x=0.015\t\t”,“x=0.016\t\t”,“x=0.017\t\t”,“x=0.018\t\t”,“x=0.019\t\t”,“x=0.020\t\t”)

print(‘-’ * 420)

print(“y1:”, end=‘’)

for i in range(len(y1array)):

if i % 10 == 0:

print(“\t\t”, “%8.7f” % y1array[i], end=‘’)

print(‘\n’, ‘-’ * 420)

print(“y2:”, end=‘’)

for i in range(len(y2array)):

if i % 10 == 0:

print(“\t\t”, “%8.7f” % y2array[i], end=‘’)

print(‘\n’, ‘-’ * 420)

print(“y3:”, end=‘’)

for i in range(len(y3array)):

if i % 10 == 0:

print(“\t\t”, “%8.7f” % y3array[i], end=‘’)

print(‘\n’, ‘-’ * 420)

plt.figure(‘Runge Kutta numerical results’)

plt.subplot(221)

#plt.plot(xarray, y1array, label=‘y1_runge_kutta’)

plt.scatter(xarray, y1array, label=‘y1_scatter’, s=1, c=‘#DC143C’, alpha=0.6)

#plt.y1label(‘x’)

plt.legend()

plt.subplot(222)

#plt.plot(xarray, y2array, label=‘y2_runge_kutta’)

plt.scatter(xarray, y2array, label=‘y2_scatter’, s=1, c=‘#DC143C’, alpha=0.6)

#plt.y2label(‘x’)

plt.legend()

plt.subplot(223)

#plt.plot(xarray, y3array, label=‘y3_runge_kutta’)

plt.scatter(xarray, y3array, label=‘y3_scatter’, s=1, c=‘#DC143C’, alpha=0.6)

#plt.y3label(‘x’)

plt.legend()

plt.show()

if name == ‘main’:

main()

最后

🍅 硬核资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。
🍅 技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。
🍅 面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。
🍅 知识体系:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

如果你需要这些资料,可以添加V无偿获取:hxbc188 (备注666)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
入研究,那么很难做到真正的技术提升。**

如果你需要这些资料,可以添加V无偿获取:hxbc188 (备注666)
[外链图片转存中…(img-Y7fOrNFp-1713852271693)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值