首页 > 其他分享 >第八章

第八章

时间:2024-11-13 23:40:24浏览次数:1  
标签:dm span df sol 第八章 dm2 plt

8.4 求微分方程组的数值解 x'=-x3-y,x(0)=1,y'=x-y3,y(0)=0.5,0<=t<=30,要求画出x(t)和y(t)的解曲线图形,再相平面上画出轨线

点击查看代码
import matplotlib.pyplot as plt
from scipy.integrate import solve_ivp

def system(t, state):
    x, y = state
    dxdt = -x**3 - y
    dydt = x - y**3
    return [dxdt, dydt]

t_span = (0, 30)
y0 = [1, 0.5]

sol = solve_ivp(system, t_span, y0, t_eval=np.linspace(t_span[0], t_span[1], 1000))

x = sol.y[0]
y = sol.y[1]
t = sol.t

# 绘制 x(t) vs t 和 y(t) vs t
plt.figure(figsize=(12, 6))

plt.subplot(1, 2, 1)
plt.plot(t, x, label='x(t)')
plt.xlabel('t')
plt.ylabel('x(t)')
plt.title('x(t) vs t')
plt.legend()
plt.grid(True)

plt.subplot(1, 2, 2)
plt.plot(t, y, label='y(t)')
plt.xlabel('t')
plt.ylabel('y(t)')
plt.title('y(t) vs t')
plt.legend()
plt.grid(True)

plt.figure(figsize=(6, 6))
plt.plot(x, y, label='Phase Trajectory')
plt.xlabel('x')
plt.ylabel('y')
plt.title('Phase Plane (x, y)')
plt.legend()
plt.grid(True)
plt.axis('equal')  

plt.tight_layout()  
plt.show()


print("学号:2023310143028")

8.5 求微分方程组(竖直加热板的自然对流)的数值解。(d3f)/(dm3)+3f(df)/(dm2)-2((df)/(dm))2+T=0,(d2T)/(dm2)+2.1f(dT)/(dm)=0,已知当m=0时,f=0,(df)/(dm)=0,(d2f)/(dm^2)=0.68,T=1,(dT)/(dm)=-0.5。要求在[0,10]区间上,画出f(a)、T(a)的解曲线

点击查看代码
import matplotlib.pyplot as plt
from scipy.integrate import solve_ivp

def model(t, y):
    f, df_dm, d2f_dm2, T, dT_dm = y
    d3f_dm3 = -3 * f * d2f_dm2 + 2 * (df_dm)**2 - T  
    d2T_dm2 = -2.1 * f * dT_dm  # 注意通过 y 引用 f
   
    return [df_dm, d2f_dm2, d3f_dm3, dT_dm, d2T_dm2]

y0 = [0, 0, 0.68, 1, -0.5]

t_span = (0, 10)
t_eval = np.linspace(t_span[0], t_span[1], 1000)


sol = solve_ivp(model, t_span, y0, t_eval=t_eval, method='RK45')

f = sol.y[0]
T = sol.y[3]

plt.figure(figsize=(12, 6))

plt.subplot(2, 1, 1)
plt.plot(sol.t, f, label='f(t)')  
plt.xlabel('t') 
plt.ylabel('f(t)')
plt.title('Solution for f(t)')
plt.grid(True)

plt.subplot(2, 1, 2)
plt.plot(sol.t, T, label='T(t)', color='orange')  
plt.xlabel('t')  
plt.ylabel('T(t)')
plt.title('Solution for T(t)')
plt.grid(True)

plt.tight_layout()
plt.show()


print("学号:2023310143028")

标签:dm,span,df,sol,第八章,dm2,plt
From: https://www.cnblogs.com/5227abc/p/18545090

相关文章

  • 第八章 利用CSS制作导航菜单
    8.1水平顶部导航栏8.1.1简单水平导航栏的设计与实现8.1.1.1导航栏的创建<nav>标签是HIML5新增的文档结构标签,用于标记导航栏,以便后续与网站的其他内整合,所以常用<nav>标签在页面上创建导航栏菜单区域。例如,在<nav>的首尾标签之间使用无序列表<u>标签配合列表选项<li>......
  • 第八章 利用CSS制作导航菜单
    8.1水平顶部导航栏8.1.1简单水平导航栏的设计与实现8.1.1.1导航栏的创建8.1.1.2列表样式的设计<!DOCTYPEhtml><html> <head> <metacharset="utf-8"/> <title></title> <style>li{ float:left; } ul{ list-style-type:n......
  • 第八章: 8.10将一个5*5的矩阵中最大的元素放在中心,4个角分别放4个最小的元素(四个角的元
    第八章:8.10将一个5*5的矩阵中最大的元素放在中心,4个角分别放4个最小的元素(四个角的元素的顺序是从左到右,从上到下,依次从小到大存放)思考:1.输入矩阵的值inta[5][5]={0};   inti=0,j=0;   printf("请输入一个5*5的数组:\n");   for(i=0;i<5;......
  • 第八章 习题
    1.利用CSS技术,结合链接和列表,设计并实现“山水之间”页面。 <!DOCTYPEhtml><html> <head> <metacharset="utf-8"> <title>山水之间</title> <style> .all{ width:900px; } .top{ width:900px; height:100px; b......
  • 第八章 课后练习
    1.利用CSS技术,结合链接和列表,设计并实现“山水之间”页面。<!DOCTYPEhtml><html> <head> <metacharset="utf-8"> <title>山水之间</title> <style> .all{ width:900px; } .top{ width:900px; height:100px; ba......
  • 第八章练习题
    <!DOCTYPEhtml><html> <head> <metacharset="utf-8"> <title>山水之间</title> <style> .class1,.class2{ float:left; position:relative; } h1{ position:absolute; top:10px; ......
  • 第八章 利用CSS制作导航菜单课后习题
    1.利用CSS技术,结合链接和列表,设计并实现“山水之间”页面。参考代码:<!DOCTYPEhtml><html> <head> <metacharset="utf-8"> <title>山水之间</title> <style> .all{ width:900px; } .top{ width:900px; height:100px;......
  • Java基础第八章(多态)
    多态1.方法体现多态方法重载体现多态对象通过传入不同数量的参数,会调用不同的sun方法,体现出多态方法重写体现多态A类和B类是继承关系,通过不同对象调用对应类中重写的方法体现2.对象体现多态编译是javac,运行是java(1)一个对象的编译类型和运行类型可以不一致将父......
  • 第八章习题13-写一个用矩形法求定积分的通用函数,分别求积分区间为[0,1]sinx,cosx,e的x方
     ......
  • 信安软考总结-第八章 防火墙技术原理与应用
    防火墙概述防火墙概念不做特殊说明,认为防火墙只有ACL功能安全区域:公共外部网络:Internet内联网外联网(≠外网):常用作组织和合作伙伴之间进行通信军事缓冲区域(DMZ):常防止公共服务设备,向外提供信息服务防火墙安装在不同的安全区域边界处,用于网络通信安全控制,由专用......