首页 > 其他分享 >第八章

第八章

时间:2024-11-17 16:08:05浏览次数:1  
标签:dm title sol 第八章 plt ylabel import

8.4
import numpy as np
from scipy.integrate import odeint
import matplotlib.pyplot as plt

def system(z,t):
x,y=z
dxdt=-x3-y
dydt=x-y
3

return [dxdt,dydt]

z0=[1,0.5]
t = np.linspace(0, 30, 1000)

sol=odeint(system,z0,t)

x_sol=sol[:,0]
y_sol=sol[:,1]

plt.subplot(2, 1, 1)
plt.plot(t, x_sol)
plt.xlabel('t')
plt.ylabel('x(t)')
plt.title('Solution of x(t)')

plt.subplot(2, 1, 2)
plt.plot(t, y_sol)
plt.xlabel('t')
plt.ylabel('y(t)')
plt.title('Solution of y(t)')

plt.tight_layout()
plt.show()

plt.plot(x_sol, y_sol)
plt.xlabel('x')
plt.ylabel('y')
plt.title('Phase Plane Trajectory')
plt.show()
print("3023")
结果

8.5
import numpy as np
import matplotlib.pyplot as plt
from scipy.integrate import solve_ivp

plt.rcParams['text.usetex'] = False

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
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)

try:
sol = solve_ivp(model, t_span, y0, t_eval=t_eval, method='RK45')
if not sol.success:
raise ValueError(f"求解微分方程组失败: {sol.message}")
except Exception as e:
print(f"发生错误: {e}")
exit(1)

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(m)')
plt.xlabel('m (independent variable)')
plt.ylabel('f(m) (dependent variable)')
plt.title('Solution for f(m) over time')
plt.grid(True)

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

plt.tight_layout()
plt.show()
print("3023")
结果

标签:dm,title,sol,第八章,plt,ylabel,import
From: https://www.cnblogs.com/111q/p/18550658

相关文章

  • 第八章课后习题
    习题8.4点击查看代码fromscipy.integrateimportodeintimportnumpyasnpimportmatplotlib.pyplotasplt#设置Matplotlib不使用LaTeXplt.rc('font',size=15)plt.rc('text',usetex=False)#定义微分方程系统dz=lambdaz,t:[-z[0]**3-z[1],z[0]-......
  • 第八章 利用CSS制作导航菜单
    8.1水平顶部导航栏8.1.1简单水平导航栏的设计与实现简单水平导航栏是网页设计中非常常见的元素,它通常位于页面的顶部,并提供主要的网站导航选项。下面我们将详细讲解如何创建一个基本的水平导航栏,包括HTML结构、CSS样式以及鼠标事件处理。1导航栏的创建首先,我们需要使用H......
  • 第八章
    8.4求微分方程组的数值解x'=-x3-y,x(0)=1,y'=x-y3,y(0)=0.5,0<=t<=30,要求画出x(t)和y(t)的解曲线图形,再相平面上画出轨线点击查看代码importmatplotlib.pyplotaspltfromscipy.integrateimportsolve_ivpdefsystem(t,state):x,y=statedxdt=-x**3-y......
  • 第八章 利用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;......