Python微磁学磁倾斜和西塔规则算法

news2024/11/23 10:25:02

📜有限差分-用例

📜离散化偏微分方程求解器和模型定型 | 📜三维热传递偏微分方程解 | 📜特定资产期权价值偏微分方程计算 | 📜三维波偏微分方程空间导数计算 | 📜应力-速度公式一阶声波方程模拟二维地震波 | 📜微磁学计算磁化波动求解器、色散关系和能垒的弦法 | 📜磁倾斜导数数据平滑

📜指数衰减:🖊常微分方程数值求解器 | 🖊绘制衰减图 | 🖊绘制(正向欧拉、反向欧拉和克兰克-尼科尔森)西塔规则算法放大因子图 | 🖊泰勒级数展开符号计算三种算法误差 | 🖊模型误差、数据误差、离散化误差和舍入误差 | 🖊求解器泛化

📜Python热涨落流体力学求解算法和英伟达人工智能核评估模型

📜常微分方程用例:​Python机器人动力学和细胞酶常微分方程

在这里插入图片描述

✒️Python不同初始条件下热方程

有限差分法是获得偏微分和代数方程数值解的技术之一。在该方法中,解在有限网格点中以离散形式近似。

首先考虑一个偏微分方程:
u t + a u x = 0 u_t+a u_x=0 ut+aux=0
正向时间前向空间算法由下式给出:
V m n + 1 − V m n k + a V m + 1 n − V m n h = 0 \frac{V_m^{n+1}-V_m^n}{k}+a \frac{V_{m+1}^n-V_m^n}{h}=0 kVmn+1Vmn+ahVm+1nVmn=0
正向时间中心空间算法由下式给出:
V m n − 1 − V m n k + a ⋅ V m − − − V m − 1 n 2 h − 0 \frac{V_m^{n-1}-V_m^n}{k}+a \cdot \frac{V_{m-}^{-}-V_{m-1}^n}{2 h}-0 kVmn1Vmn+a2hVmVm1n0
中心时间中心空间算法由下式给出
V m n + 1 − V m n − 1 2 k + a ⋅ V m + 1 n − V m − 1 n 2 h = 0 \frac{V_m^{n+1}-V_m^{n-1}}{2 k}+a \cdot \frac{V_{m+1}^n-V_{m-1}^n}{2 h}=0 2kVmn+1Vmn1+a2hVm+1nVm1n=0
让我们考虑另一个偏微分方程,
u t = b u x x ; b > 0 u_t=b u_{x x} ; \quad b>0 ut=buxx;b>0
正向时间中心空间算法由下式给出:
V m n + 1 − V m n k = b V m + 1 n − 2 V m n + V m − 1 n h 2 = 0 \frac{V_m^{n+1}-V_m^n}{k}=b \frac{V_{m+1}^n-2 V_m^n+V_{m-1}^n}{h^2}=0 kVmn+1Vmn=bh2Vm+1n2Vmn+Vm1n=0
示例:数值求解
u t = 0.05 u x x u_t=0.05 u_{x x} ut=0.05uxx

  • u u u 代表温度
  • x x x 表示 0 ≤ x ≤ L 0 \leq x \leq L 0xL​ 的位置
  • t t t 表示 t > 0 t>0 t>0的时间
  • 边界条件为 u ( t , 0 ) = 0 u(t, 0)=0 u(t,0)=0 u ( t , L ) = 0 u(t, L)=0 u(t,L)=0 t > 0 t>0 t>0
  • 初始条件为 u ( 0 , x ) = sin ⁡ ( π x ) u(0, x)=\sin (\pi x) u(0,x)=sin(πx) 对于 0 ≤ x ≤ L 0 \leq x \leq L 0xL
  • b b b 表示 b > 0 b>0 b>0 的扩散系数

代码求解:

import numpy as np
import matplotlib.pyplot as plt


L = 1  
T = 1  
m = 5  
n = 5  
h = L / m  
k = T / n  
b = 0.05  
mu = k / h**2  

c = b * mu
if c <= 0 or c >= 0.5:
    print('Scheme is unstable')

v = np.zeros((m + 1, n + 1))
ic1 = lambda x: np.sin(np.pi * x)

for j in range(1, m + 2):
    v[0, j - 1] = ic1((j - 1) * h)

b1 = lambda t: 0  # L.B.C
b2 = lambda t: 0  # R.B.C

for i in range(1, n + 2):
    v[i - 1, 0] = b1((i - 1) * k)
    v[i - 1, n] = b2((i - 1) * k)

for i in range(n):
    for j in range(1, m):
        v[i + 1, j] = (1 - 2 * b * mu) * v[i, j] + b * mu * v[i, j + 1] + b * mu * v[i, j - 1]

x = np.linspace(0, L, m + 1)
t = np.linspace(0, T, n + 1)
X, T = np.meshgrid(x, t)

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot_surface(X, T, v, cmap='viridis')
ax.set_xlabel('Space X')
ax.set_ylabel('Time T')
ax.set_zlabel('V')
plt.title('Python for Heat')
plt.show()

接上例,初始条件改为:

对于 0 ≤ x ≤ L 0 \leq x \leq L 0xL

u ( 0 , x ) = { 2 x  if  x < 0.5 2 ( 1 − x )  否则  u(0, x)= \begin{cases}2 x & \text { if } x<0.5 \\ 2(1-x) & \text { 否则 }\end{cases} u(0,x)={2x2(1x) if x<0.5 否则 

代码数值解:

import numpy as np
import matplotlib.pyplot as plt


L = 1  
T = 1  
m = 5  
n = 5  
h = L / m  
k = T / n  
b = 0.05  
mu = k / h ** 2 

c = b * mu
if c <= 0 or c >= 0.5:
    print('Scheme is unstable')

v = np.zeros((m + 1, n + 1))
ic1 = lambda x: 2 * x
ic2 = lambda x: 2 * (1 - x)

x = np.linspace(0, L, m + 1)
x = np.linspace(0, L, m + 1)
for j in range(1, m + 2):
    if x[j - 1] < 0.5:
        v[0, j - 1] = ic1(x[j - 1])  
    else:
        v[0, j - 1] = ic2(x[j - 1])  

b1 = lambda t: 0  # L.B.C
b2 = lambda t: 0  # R.B.C

for i in range(1, n + 2):
    v[i - 1, 0] = b1((i - 1) * k)
    v[i - 1, n] = b2((i - 1) * k)

for i in range(n):
    for j in range(1, m):
        v[i + 1, j] = (1 - 2 * b * mu) * v[i, j] + b * mu * v[i, j + 1] + b * mu * v[i, j - 1]

# Visualization
x = np.linspace(0, L, m + 1)
t = np.linspace(0, T, n + 1)
X, T = np.meshgrid(x, t)

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot_surface(X, T, v, cmap='viridis')
ax.set_xlabel('Space X')
ax.set_ylabel('Time T')
ax.set_zlabel('V')
plt.title('Python for Heat ')
plt.show()

👉参阅一:计算思维

👉参阅二:亚图跨际

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1840669.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

tkinter实现一个GUI界面-快速入手

目录 一个简单界面输出效果其他功能插入进度条文本框内容输入和删除标签内容显示和删除 一个简单界面 含插入文本、文本框、按钮、按钮调用函数 # -*- coding: UTF-8 -*-import tkinter as tk from tkinter import END from tkinter import filedialog from tkinter impor…

3d模型有个虚拟外框怎么去除?---模大狮模型网

在3D建模和渲染过程中&#xff0c;虚拟外框(Bounding Box)是一个常见的显示元素&#xff0c;用于表示模型的包围盒或选择状态。尽管虚拟外框在一些情况下有其作用&#xff0c;但在最终渲染或呈现阶段&#xff0c;我们通常希望清除这些辅助显示&#xff0c;以展示纯粹的模型效果…

[图解]企业应用架构模式2024新译本讲解14-服务层2

1 00:00:01,070 --> 00:00:01,820 我们来看案例 2 00:00:02,600 --> 00:00:06,620 案例也同样是之前跟事务脚本 3 00:00:07,030 --> 00:00:09,400 领域模型等等用过的案例是一样的 4 00:00:10,480 --> 00:00:12,700 这里译文改了一些 5 00:00:16,200 --> 00…

ai创作是什么?分享ai创作的方法

ai创作是什么&#xff1f;在当今这个信息爆炸的时代&#xff0c;文字的力量愈发显得重要。无论是日常沟通还是专业创作&#xff0c;我们都需要用文字来表达自己&#xff0c;传递思想。然而&#xff0c;面对海量的信息和快速变化的世界&#xff0c;如何高效地生成高质量的文字内…

高效、智能、稳定,LoRa监测终端为光伏跟踪支架系统保驾护航

在光伏发电领域&#xff0c;光伏跟踪支架作为提高光伏系统发电效率的关键技术之一&#xff0c;已经得到了广泛的应用。然而&#xff0c;如何有效地监测光伏跟踪支架的状态&#xff0c;确保其稳定、高效地运行&#xff0c;一直是业界关注的焦点。近年来&#xff0c;随着物联网技…

基础模型服务商SiliconCloud,新注册用户赠送 14 元的配额(约 1 亿 token)

注册链接&#xff1a;https://cloud.siliconflow.cn?referrerclx1f2kue00005c599dx5u8dz 开源模型可以自己部署&#xff0c;对服务器的要求还是挺高&#xff0c;以及学习成本、部署过程成本都是比较高&#xff0c;硅基流动SiliconFlow提供了另一个方式&#xff0c;可以像使用…

C++ (week8):数据库

文章目录 一、数据库简介1.数据库2.MySQL(1)数据库的结构(2)MySQL的三种使用方式(3)命令行(4)Navicat Premium 二、SQL1.SQL (Structured Query Language)&#xff0c;即结构化查询语言2.数据定义语言 DDL (Data Definition Language) &#xff0c;创建、修改、删除数据库、表结…

LCB模型引领机器人进入端到端新维度

论文标题&#xff1a; From LLMs to Actions: Latent Codes as Bridges in Hierarchical Robot Control 论文作者&#xff1a; Yide Shentu&#xff0c;Philipp Wu&#xff0c;Aravind Rajeswaran&#xff0c;Pieter Abbeel 项目地址&#xff1a; https://fredshentu.gith…

WDF驱动开发-计时器

WDF可以使用框架的内置计时器支持。 它适用于 Kernel-Mode Driver Framework (KMDF) 驱动程序&#xff0c;以及从版本 2 开始的 User-Mode Driver Framework (UMDF) 驱动程序。 框架提供了一个 计时器对象 &#xff0c;使驱动程序能够创建计时器。 在驱动程序创建计时器对象并…

北斗高精度定位终端的应用领域和作用

北斗高精度定位终端的技术进步不仅体现在硬件设备的优化上&#xff0c;还深入到软件算法的革新。采用先进的实时动态差分技术&#xff08;RTK&#xff09;&#xff0c;结合地面增强基站网络&#xff0c;能够大幅度提高定位解算的精度和速度&#xff0c;即使在复杂的城市峡谷或茂…

哪些好用的AI绘画生成软件?建议你试试这四款

哪些好用的AI绘画生成软件&#xff1f;随着人工智能技术的飞速发展&#xff0c;AI绘画生成软件逐渐走入大众的视野&#xff0c;为艺术创作领域带来了革命性的变革。今天&#xff0c;就让我们一起探索四款备受推崇的AI绘画生成软件&#xff0c;看看它们如何以独特的魅力&#xf…

2024-05-31T08:36:09.000+00:00 转换 YYYY-MM-DD HH-MM-SS

function formatDate(date) {// 处理ISO 8601字符串if (typeof date string) {date new Date(date);}// 处理时间戳else if (typeof date number) {date new Date(date * 1000); // 假设后端时间戳为秒&#xff0c;需要乘以1000转换为毫秒}// 自定义格式化&#xff0c;例如…

教你python自动识别图文验证码的解决方案!

验证码识别解决方案 对于web应用程序来讲&#xff0c;处于安全性考虑&#xff0c;在登录的时候&#xff0c;都会设置验证码&#xff0c;验证码的类型种类繁多&#xff0c;有图片中辨别数字字母的&#xff0c;有点击图片中指定的文字的&#xff0c;也有算术计算结果的&#xff0…

HTML(11)——CSS三大特性

CSS拥有三大特性&#xff0c;分别是&#xff1a;继承性&#xff0c;层叠性&#xff0c;优先级 继承性 说明&#xff1a;子级标签默认继承父级标签的文字控制属性。 如果子级自己有样式&#xff0c;则父级的属性不生效 例如&#xff1a; <style> body{ font-size:30px;…

第十五章 观察者模式

目录 1 观察者模式介绍 2 观察者模式原理 3 观察者模式实现 4 观察者模式应用实例 5 观察者模式总结 1 观察者模式介绍 观察者模式的应用场景非常广泛&#xff0c;小到代码层面的解耦&#xff0c;大到架构层面的系统解耦&#xff0c;再或者 一些产品的设计思路&#xff0c…

“AI引擎”澎湃动力!深圳机场携手实在智能打造民航财务数字员工

近日&#xff0c;深圳机场集团&#xff08;000089&#xff09;与实在智能达成合作&#xff0c;引入了业内领先的平台级自动化产品——实在RPA数字员工&#xff0c;部署实在智能集“自动化平台开箱即用解决方案咨询”为一体的数字员工解决方案&#xff0c;实现纳税申报、报表制作…

一键简易桌签(带背景)-Word插件-大珩助手

问题整理&#xff1a; 如何Word中设计简易桌签&#xff1f;如何设置带背景图的桌签&#xff1f; Word大珩助手是一款功能丰富的Office Word插件&#xff0c;旨在提高用户在处理文档时的效率。它具有多种实用的功能&#xff0c;能够帮助用户轻松修改、优化和管理Word文件&…

3ds Max软件下载安装:3D建模软件 轻松开启你的建模之旅!

3ds Max&#xff0c;在建模过程中&#xff0c;网格建模和NURBS建模两大技术发挥着不可或缺的作用。网格建模允许用户通过顶点、边和面等元素的调整&#xff0c;精确地塑造出模型的形态&#xff1b;而NURBS建模则以其优秀的曲线和曲面处理能力&#xff0c;为设计师们提供了更为平…

el-table动态表头 浏览器大小改变产生表格错位问题

问题描述 使用element-ui的table组件时,表头由前端发送请求后动态更新,左侧编号列设定为fixed:left左侧固定定位;在改变屏幕大小(主副屏互转)时出现表格错位问题. 问题分析 element-ui的官方文档对该情况提供了一个doLayout方法来解决该问题; doLayout:对 Table 进行重新布局。…

ICMAN触摸芯片——大金属触摸

ICMAN触摸芯片之大金属触摸 按照工业级别设计 稳定性与抗干扰能力强 单颗芯片支持 1~12按键 可以轻松实现 金属灯触摸方案的触摸开关&#xff0b;无极调光 高性能ICMAN触摸芯片在金属LED触摸台灯的应用