动力学重构/微分方程参数拟合 - 基于模型

这一篇文章,主要是给非线性动力学,对微分方程模型参数拟合感兴趣的朋友写的。笼统的来说,这与混沌系统的预测有关;传统的机器学习的模式识别虽然也会谈论预测结果,但他们一般不会涉及连续的预测。这里我们考虑的是,连续的预测,而不仅是进行一步预测。比如生物神经元的发放序列,股票序列,天气序列等等。

需要大家已经具备的知识

  1. 了解什么是微分方程
  2. 了解最小二乘法

读完之后你会获得

文章目录

  • 1 什么是动力学重构?有什么用?
    • 如何直观理解
    • 重构的数学表达
  • 2 动力学重构论文调研
    • 2017 - HOCC - High-order correlation computations
      • HOCC-理论
      • HOCC-例子:Lorenz系统
    • 2022 Reconstruction of nonlinear flows from noisy time series
    • 2023 Reconstructing equations of motion and networkstructures from noisy time series with hiddenvariables
  • 附:相关链接

1 什么是动力学重构?有什么用?

动力学重构,在下面简称为重构。

如何直观理解

重构这个词,大家如果觉得陌生,那么参数拟合大家可能更好理解。只不过我们是对微分方程进行参数拟合。

比如,当我们手头有一个时间序列的数据(如下图这个FHN网络中,5个节点的膜电位序列),我们希望把这个时间序列背后的模型中的系数给拟合出来。

把系数拟合出来的好处有很多啦,比如:

(1)参数可能有物理意义上的可解释性,可以用来解释和理解系统,
(2)可以用来预测,这个系统之后会朝着怎样的方向演化,
(3)参数有了之后,其实模型就变成解析的了,非线性动力学有一套方法,比如寻找周期,分析临界态,分岔分析之类的方法,都能用上了。
在这里插入图片描述

图1

重构的数学表达

考虑一个含有 N N N个状态变量的系统,它的状态变量可以表示为 x 1 , x 2 , . . . , x N x_1, x_2, ..., x_N x1,x2,...,xN,每一个状态变化规则,我们假设可以被一个连续性的函数所刻画,比如N=3的时候,我们可以写成

{ d x 1 d t = x ˙ 1 = f 1 ( x 1 , x 2 , x 3 , p ) d x 2 d t = x ˙ 2 = f 2 ( x 1 , x 2 , x 3 , p ) d x 2 d t = x ˙ 3 = f 3 ( x 1 , x 2 , x 4 , p ) \left\{\begin{array}{l} \frac{dx_1}{dt} = \dot{x}_1=f_1\left(x_1, x_2, x_3, p\right) \\ \frac{dx_2}{dt} = \dot{x}_2=f_2\left(x_1, x_2, x_3, p\right) \\ \frac{dx_2}{dt} = \dot{x}_3=f_3\left(x_1, x_2, x_4, p\right) \end{array}\right. dtdx1=x˙1=f1(x1,x2,x3,p)dtdx2=x˙2=f2(x1,x2,x3,p)dtdx2=x˙3=f3(x1,x2,x4,p)

可以看到,其中的每个变量都与其他变量有关, p p p 用来表示其中的待定参数。所谓的重构问题,是根据状态变量的 n n n个时间序列 x i ( 1 ) , x i ( 2 ) , . . . , x i ( n ) , i = 1 , 2 , . . . , N x_i(1),x_i(2),...,x_i(n), i=1,2,...,N xi(1),xi(2),...,xi(n),i=1,2,...,N,将其中参数还原出来。

如果有同学需要一个具体的微分方程组,也可以写出
v ˙ i = v i − v i 3 − w i − ∑ j = 1 N A i j ( v j − v i ) + Γ 1 , i w ˙ i = a i + b i + c i w i + Γ 2 , i (1) \begin{aligned} & \dot{v}_i=v_i-v_i^3-w_i-\sum_{j=1}^N A_{i j}\left(v_j-v_i\right)+\Gamma_{1, i} \\ & \dot{w}_i=a_i+b_i+c_i w_i+\Gamma_{2, i} \tag{1} \end{aligned} v˙i=vivi3wij=1NAij(vjvi)+Γ1,iw˙i=ai+bi+ciwi+Γ2,i(1)
这里的状态变量是 v i v_i vi w i w_i wi,里面的参数有 a i , b i , c i a_i,b_i,c_i ai,bi,ci,以及链接权重 A i j A_{ij} Aij
事实上,这就是生成 【图1】所使用的微分方程模型。动力学重构就是基于【图1】的时间序列,将公式(1)中的参数都拟合出来。

(文末会给出源码地址)

网络重构的概念
作为区分,我们这里补充介绍网络重构的概念。
类似于因果推断中,需要判断两个状态变量 x x x y y y 是否存在因果相关性。而网络重构的为了判断在一个网络中(每个节点可以视为一个状态变量),两个节点的是否存在连边。
目前上海交通大学周栋焯和相关团队所创作的:Causal connectivity measures for pulse-output network reconstruction: Analysis and applications,介绍了网络重构领域的一些基本方法:时延相关系数、时延互信息、格兰杰因果关系和传输熵。他们的工作开源在github,论文公开地址。

2 动力学重构论文调研

动力学重构是一个发展很快的领域,与网络重构(因果推断)不同,我们不仅要判定两个变量是有因果关系的,而且我们还需要用具体的数学模型将他们的公式给刻画出来。

如果没有公式,给出公式,这称为方程重构。如果有公式,根据数据计算将公式中的系数计算出来,这被称为参数重构。他们都属于动力学重构的范畴。

2017 - HOCC - High-order correlation computations

2017年,北京师范大学团队Yang Chen提出了基于High-order correlation(高阶导数相关性)来在含有隐节点和噪声的情况下进行重构。简述一下思想

HOCC-理论

定义一个 N N N 个状态的系统,其中有 n n n 个显状态, N − n N-n Nn 个隐状态。在每一个时刻都会面临一个高斯白噪声,数学表达如下:

x ˙ i ( t ) = f i ( x , y , α ) + Γ i ( t ) , i = 1 , 2 , ⋯ , n , y ˙ i ( t ) = f i ( x , y , α ) + Γ i ( t ) , i = n + 1 , n + 2 , ⋯ , N , (HOCC.1) \begin{aligned} & \dot{x}_i(t)=f_i(\boldsymbol{x}, \boldsymbol{y}, \boldsymbol{\alpha})+\Gamma_i(t), i=1,2, \cdots, n, \\ & \dot{y}_i(t)=f_i(\boldsymbol{x}, \boldsymbol{y}, \boldsymbol{\alpha})+\Gamma_i(t), i=n+1, n+2, \cdots, N, \tag{HOCC.1} \end{aligned} x˙i(t)=fi(x,y,α)+Γi(t),i=1,2,,n,y˙i(t)=fi(x,y,α)+Γi(t),i=n+1,n+2,,N,(HOCC.1)

对于这样一个系统,理论上我们可以计算 x x x 变量关于时间的二阶导数 x ¨ \ddot{x} x¨,因为其中只有 x , y \boldsymbol{x},\boldsymbol{y} x,y与时间有关,由链式法则可得

x ¨ i ( t ) = ∑ j = 1 n ∂ f i ( x , y , α ) ∂ x j x ˙ j + ∑ j = n + 1 N ∂ f i ( x , y , α ) ∂ y j y ˙ j + Γ i ′ ( t ) , (HOCC.2) \ddot{x}_i(t)=\sum_{j=1}^n \frac{\partial f_i(\boldsymbol{x}, \boldsymbol{y}, \boldsymbol{\alpha})}{\partial x_j} \dot{x}_j+\sum_{j=n+1}^N \frac{\partial f_i(\boldsymbol{x}, \boldsymbol{y}, \boldsymbol{\alpha})}{\partial y_j} \dot{y}_j+\Gamma_i^{\prime}(t), \tag{HOCC.2} x¨i(t)=j=1nxjfi(x,y,α)x˙j+j=n+1Nyjfi(x,y,α)y˙j+Γi(t),(HOCC.2)

为了简洁,做一个符号替换,定义2个符号。 ϕ \phi ϕ 是把(HOCC.2)右边搞简单, Γ \Gamma Γ 是把噪声搞简单。 y ~ ( x , x ˙ , α ) \tilde{y}(x, \dot{x}, \alpha) y~(x,x˙,α) 就是 y ( x , x ˙ , α ) {y}(x, \dot{x}, \alpha) y(x,x˙,α) 剔除噪声项后剩下的决定项。
ϕ i ( x , x ˙ , α ) = [ ∑ j = 1 n ∂ f i ( x , y , α ) ∂ x j f j ( x , y , α ) + ∑ j = n + 1 N ∂ f i ( x , y , α ) ∂ y j f j ( x , y , α ) ] ∣ y = y ~ ( x , x ˙ , α ) \begin{aligned} \phi_i(\boldsymbol{x}, \dot{\boldsymbol{x}}, \boldsymbol{\alpha})= & {\left[\sum_{j=1}^n \frac{\partial f_i(\boldsymbol{x}, \boldsymbol{y}, \boldsymbol{\alpha})}{\partial x_j} f_j(\boldsymbol{x}, \boldsymbol{y}, \boldsymbol{\alpha})\right.} \left.+\sum_{j=n+1}^N \frac{\partial f_i(\boldsymbol{x}, \boldsymbol{y}, \boldsymbol{\alpha})}{\partial y_j} f_j(\boldsymbol{x}, \boldsymbol{y}, \boldsymbol{\alpha})\right]_{\mid \boldsymbol{y}=\tilde{\boldsymbol{y}}(\boldsymbol{x}, \dot{\boldsymbol{x}}, \boldsymbol{\alpha})} \end{aligned} ϕi(x,x˙,α)=[j=1nxjfi(x,y,α)fj(x,y,α)+j=n+1Nyjfi(x,y,α)fj(x,y,α)]y=y~(x,x˙,α)

Γ i ′ ′ ( t ) = { Γ i ′ ( t ) + ∑ j = 1 N g i j ( x , x ˙ , α ) Γ j ( t ) i = 1 , 2 , ⋯ , N − n , Γ i ( t ) + ∑ j = 1 N g i j ( x , x ˙ , α ) Γ j ( t ) i = N − n + 1 , ⋯ , n , (HOCC.3) \Gamma_i^{\prime \prime}(t)=\left\{\begin{array}{c}\Gamma_i^{\prime}(t)+\sum_{j=1}^N g_{i j}(\boldsymbol{x}, \dot{\boldsymbol{x}}, \boldsymbol{\alpha}) \Gamma_j(t) \\ i=1,2, \cdots, N-n, \\ \Gamma_i(t)+\sum_{j=1}^N g_{i j}(\boldsymbol{x}, \dot{\boldsymbol{x}}, \boldsymbol{\alpha}) \Gamma_j(t) \\ i=N-n+1, \cdots, n,\end{array}\right. \tag{HOCC.3} Γi′′(t)= Γi(t)+j=1Ngij(x,x˙,α)Γj(t)i=1,2,,Nn,Γi(t)+j=1Ngij(x,x˙,α)Γj(t)i=Nn+1,,n,(HOCC.3)

于是,把上面两个公式带入(HOCC.2),得下面得形式

x ¨ i ( t ) = ϕ i ( x , x ˙ , α ) + Γ i ′ ′ ( t ) , i = 1 , 2 , ⋯ , N − n , x ˙ i ( t ) = f i ( x , y ( x , x ˙ , α ) , α ) + Γ i ′ ′ ( t ) , i = N − n + 1 , N − n + 2 , ⋯ , n , \begin{aligned} \ddot{x}_i(t)= & \phi_i(\boldsymbol{x}, \dot{\boldsymbol{x}}, \boldsymbol{\alpha})+\Gamma_i^{\prime \prime}(t), i=1,2, \cdots, N-n, \\ \dot{x}_i(t)= & f_i(\boldsymbol{x}, \boldsymbol{y}(\boldsymbol{x}, \dot{\boldsymbol{x}}, \boldsymbol{\alpha}), \boldsymbol{\alpha})+\Gamma_i^{\prime \prime}(t), i=N-n+1, \\ & N-n+2, \cdots, n, \end{aligned} x¨i(t)=x˙i(t)=ϕi(x,x˙,α)+Γi′′(t),i=1,2,,Nn,fi(x,y(x,x˙,α),α)+Γi′′(t),i=Nn+1,Nn+2,,n,

下面作者这里做了一个关键操作,作者把 ϕ i \phi_i ϕi 直接完全用 x x x 来进行表示了,说是可以找到一个基向量 Z i Z_i Zi 来实现这样的效果。原文如下:

在这里插入图片描述

图2

ps 是否可以在 M i M_i Mi 取有限项的时候,将 ϕ i \phi_i ϕi 完美表示出来呢。为什么可以完美表示出来,如何表示,以及是否会存在例外?大家可以思考一下哦~

总之,通过这种基的选取,我们可以把方程全换成由 x x x 作为主导的形式,
x ¨ i = ∑ μ = 1 M i A i , μ Z i , μ ( x , x ˙ ) + Γ i ′ ′ ( t ) , i = 1 , 2 , ⋯ , N − n , x ˙ i = ∑ μ = 1 M i A i , μ Z i , μ ( x , x ˙ ) + Γ i ′ ′ ( t ) , i = N − n + 1 , ⋯ , n . \begin{aligned} & \ddot{x}_i=\sum_{\mu=1}^{M_i} A_{i, \mu} Z_{i, \mu}(\boldsymbol{x}, \dot{\boldsymbol{x}})+\Gamma_i^{\prime \prime}(t), i=1,2, \cdots, N-n, \\ & \dot{x}_i=\sum_{\mu=1}^{M_i} A_{i, \mu} Z_{i, \mu}(\boldsymbol{x}, \dot{\boldsymbol{x}})+\Gamma_i^{\prime \prime}(t), i=N-n+1, \cdots, n . \end{aligned} x¨i=μ=1MiAi,μZi,μ(x,x˙)+Γi′′(t),i=1,2,,Nn,x˙i=μ=1MiAi,μZi,μ(x,x˙)+Γi′′(t),i=Nn+1,,n.

现在来分析一下,上述方程中的 x x x 是已知的,选取的基的形式已知,所以,未知数只有参数矩阵 A A A
如此简洁的线性形式,可以直接用线性最小二乘法来实现求解,且得到的是全局最优。

HOCC-例子:Lorenz系统

会不会觉得理论部分太抽象呢?我们下面以 Lorenz 系统为例,我们再做一个讲解。

首先,给出 Lorenz 系统的形式,
x ˙ = α 1 y + α 2 x + Γ 1 ( t ) , y ˙ = β 1 x + β 2 y + β 3 x z + Γ 2 ( t ) , z ˙ = γ 1 z + γ 2 x y + Γ 3 ( t ) . \begin{aligned} & \dot{x}=\alpha_1 y+\alpha_2 x+\Gamma_1(t), \\ & \dot{y}=\beta_1 x+\beta_2 y+\beta_3 x z+\Gamma_2(t), \\ & \dot{z}=\gamma_1 z+\gamma_2 x y+\Gamma_3(t) . \end{aligned} x˙=α1y+α2x+Γ1(t),y˙=β1x+β2y+β3xz+Γ2(t),z˙=γ1z+γ2xy+Γ3(t).

假设其中 y y y 是隐状态,先不管噪声;于是,当我们对 x x x 求二阶导,得
x ¨ = α 1 y ˙ + α 2 x ˙ : 可以将 y ˙ 带入 = α 1 ( β 1 x + β 2 y + β 3 x z ) + α 2 x ˙ : 基于 α 1 y = x ˙ − α 2 x = α 1 β 1 x + β 2 ( x ˙ − α 2 x ) + α 1 β 3 x z + α 2 ⋅ x ˙ : 同类项合并 = ( β 2 + α 2 ) x ˙ + ( α 1 β 1 − α 2 β 2 ) x + α 1 β 3 x z ( HOCC-L ) \begin{aligned} \ddot{x} & =\alpha_1 \dot{y}+\alpha_2 \dot{x} & \quad:可以将\dot{y}带入\\ & =\alpha_1\left(\beta_1 x+\beta_2 y+\beta_3 x z\right)+\alpha_2 \dot{x} & \quad:基于\alpha_1y=\dot{x}-\alpha_2 x \\ & = \alpha_1 \beta_1 x+\beta_2\left(\dot{x}-\alpha_2 x\right)+\alpha_1 \beta_3 x z+\alpha_2 \cdot \dot{x} & \quad: 同类项合并 \\ & =\left(\beta_2+\alpha_2\right) \dot{x}+\left(\alpha_1 \beta_1-\alpha_2 \beta_2\right) x +\alpha_1 \beta_3 x z &(\text{HOCC-L}) \end{aligned} x¨=α1y˙+α2x˙=α1(β1x+β2y+β3xz)+α2x˙=α1β1x+β2(x˙α2x)+α1β3xz+α2x˙=(β2+α2)x˙+(α1β1α2β2)x+α1β3xz:可以将y˙带入:基于α1y=x˙α2x:同类项合并(HOCC-L)

类似的,我们可以把 z z z 也用 x , z x,z x,z 表示出来。如果如果我们把 x 1 x_1 x1 代表 x x x x 2 x_2 x2 代表 z z z,就可以得到
x ¨ 1 = ( β 2 + α 2 ) x ˙ 1 + ( α 1 β 1 − α 2 β 2 ) x 1 + α 1 β 3 x 1 x 2 x ˙ 2 = γ 2 α 1 x ˙ 1 x 1 − γ 2 α 2 α 1 x 1 2 + γ 1 x 2 \begin{aligned} \ddot{x}_1= & \left(\beta_2+\alpha_2\right) \dot{x}_1+\left(\alpha_1 \beta_1-\alpha_2 \beta_2\right) x_1 \\ & +\alpha_1 \beta_3 x_1 x_2 \\ \dot{x}_2= & \frac{\gamma_2}{\alpha_1} \dot{x}_1 x_1-\frac{\gamma_2 \alpha_2}{\alpha_1} x_1^2+\gamma_1 x_2 \end{aligned} x¨1=x˙2=(β2+α2)x˙1+(α1β1α2β2)x1+α1β3x1x2α1γ2x˙1x1α1γ2α2x12+γ1x2

此时,就实现了 显状态的演化只与显状态有关 的目的。后续使用最小二乘法求解即可。

大家都应该知道怎么求解吧(•_•),啰嗦一下:
就是把上面 x ¨ 1 , x ˙ 2 \ddot{x}_1, \dot{x}_2 x¨1,x˙2合并成一个矩阵 A A A,把他们右边所用到的项 x ˙ 1 , x 1 , x 1 x 2 , x 1 ˙ x 1 , x 1 2 , x 2 \dot{x}_1, x_1, x_1x_2, \dot{x_1}x_1, x_1^2, x_2 x˙1,x1,x1x2,x1˙x1,x12,x2设为另一个矩阵 B B B,然后参数设为矩阵 C C C
于是方程可以被表达为 A = B C A=BC A=BC
故参数矩阵: B = A C − 1 B=AC^{-1} B=AC1,这在matlab中可以使用pinv直接实现求解。

另外,很容易发现这个方法的一个“小”缺陷,
公式 (HOCC-L) 在进行代换时,用到了 α 1 y = x ˙ − α 2 x \alpha_1y=\dot{x}-\alpha_2 x α1y=x˙α2x,隐状态竟然可以通过显状态直接表示,这么好运?
如果 x ˙ = α 1 x + α 2 y 2 + α 3 y z \dot{x}=\alpha_1 x+ \alpha_2 y^2+\alpha_3 yz x˙=α1x+α2y2+α3yz,并且 y , z y,z y,z 都是隐状态,由于无法完全将显状态分离变量,而且解的形式中仍然会有隐变量 z z z 的存在,那么构造完美的基函数将不那么容易 (if not impossible)
————
(对于这个问题,各位有没有解决办法呢?欢迎把回答写在评论区哦~)


留坑

2022 Reconstruction of nonlinear flows from noisy time series

2022北邮

2023 Reconstructing equations of motion and networkstructures from noisy time series with hiddenvariables

2023北邮

附:相关链接

代码 - Lorenz模型代码

代码 - FHN模型仿真代码

代码 - 2022,Wang代码

代码 - 2023,Yan代码

论文集

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

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

相关文章

Rokid AR Lite空间计算套装发布,中国空间计算踏上差异化领先之路

动动手指、动动眼睛就可以“操控一切”,这种颇具科幻感、未来感的交互方式,令许多人感叹“未来已来”。而这令人震撼的变革背后,正是空间计算技术的迅猛崛起与广泛应用,使得这种曾经只存在于想象中的交互方式,如今正逐…

循环神经网络(RNN):概念、挑战与应用

循环神经网络(RNN):概念、挑战与应用 1 引言 1.1 简要回顾 RNN 在深度学习中的位置与重要性 在深度学习的壮丽图景中,循环神经网络(Recurrent Neural Networks,RNN)占据着不可或缺的地位。自从…

Linux 磁盘管理和文件系统

硬盘的物理结构: 盘片硬盘有多个盘片,每盘片2面磁头每面一个磁头 硬盘的数据结构: 扇区盘片被分为多个扇形区域,扇区:每个扇区存放512字节的数据,硬盘的最小存储单位磁道同一盘片不同半径的同心圆,是由磁…

软件设计师软考中项学习(二)之计算机系统基础知识

读者大大们好呀!!!☀️☀️☀️ 🔥 欢迎来到我的博客 👀期待大大的关注哦❗️❗️❗️ 🚀欢迎收看我的主页文章➡️寻至善的主页 文章目录 学习目标学习内容学习笔记学习总结 学习目标 计算机系统硬件基本组成 中央处理…

友思特应用 | 红外视角的延伸:短波红外相机的机器视觉应用

导读 短波红外SWIR在不同波段针对不同材料的独特成像特征为各领域检测应用的拓宽提供了基础。本文将展现短波红外成像技术在水分检测、塑料检测、太阳能电池板检查和矿场开采等领域的丰富应用案例,讨论短波红外相机在未来的发展方向。 SWIR 背景简介 短波红外 &am…

上位机图像处理和嵌入式模块部署(树莓派4b和视觉slam十四讲)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 实际使用中,树莓派4b是非常好的一个基础平台。本身板子价格也不是很贵,建议大家多多使用。之前关于vslam,也就是…

R语言中的execl数据转plink

文章目录 带出外部连接的方式添加列的方式从列表中选出对应的数据信息查看变量信息没有成功 带出外部连接的方式 点击这个黄色的按钮就可以弹出外部链接的方式 添加列的方式 创建一个数据框的方式 我们创建一个三行三列的数据方式 df <- data.frame(name c("Alice&…

【CSS】深入理解:BFC究竟是什么?

深入理解&#xff1a;BFC究竟是什么&#xff1f; 在我们了解BFC之前&#xff0c;我们先来看看什么是FC 1. FC的概念 FC全称 Formatting Context ,元素在标准流里面都属于一个FC 块级元素的布局都属于Block Formatting Context,也就是BFC block level box都是在BFC中布局的 …

利用AQS(AbstractQueuedSynchronizer)实现一个线程同步器

目录 1. 前言 2. 什么是同步器 3. 同步器实现思路 Semaphore(信号量) 4. 代码实现 4.1. 创建互斥锁类 4.2 编写静态内部类&#xff0c;继承AQS 4.3 内部类实现AQS钩子函数 4.3 封装lock&#xff0c;unlock方法 4.4. 测试 5. 总结 本文章源码仓库&#xff1a;Conc…

【算法刷题 | 回溯思想 06】4.17(子集、子集||)

文章目录 9.子集9.1题目9.2解法&#xff1a;回溯9.2.1回溯思路&#xff08;1&#xff09;函数返回值以及参数&#xff08;2&#xff09;终止条件&#xff08;3&#xff09;遍历过程 9.2.2代码实现 10.子集 ||10.1题目10.2解法&#xff1a;回溯10.2.1回溯思路10.2.2代码实现 9.子…

(2022级)成都工业学院数据库原理及应用实验五: SQL复杂查询

写在前面 1、基于2022级软件工程/计算机科学与技术实验指导书 2、成品仅提供参考 3、如果成品不满足你的要求&#xff0c;请寻求其他的途径 运行环境 window11家庭版 Navicat Premium 16 Mysql 8.0.36 实验要求 在实验三的基础上完成下列查询&#xff1a; 1、查询医生…

DSSAT作物模型建模方法与进阶基于Python语言快速批量运行DSSAT模型及交叉融合、扩展应用技术应用

随着数字农业和智慧农业的发展&#xff0c;基于过程的作物生长模型&#xff08;Process-based Crop Growth Simulation Model&#xff09;在模拟作物对气候变化的响应与适应、农田管理优化、作物品种和株型筛选、农业碳中和、农田固碳减排等领域扮演着越来越重要的作用。Decisi…

安卓官方例程

https://learn.microsoft.com/zh-cn/shows/connecton-demand/202?sourcerecommendations https://learn.microsoft.com/zh-cn/visualstudio/cross-platform/cross-platform-mobile-development-in-visual-studio?viewvs-2022 https://learn.microsoft.com/zh-cn/shows/xamari…

pta L1-063 吃鱼还是吃肉

L1-063 吃鱼还是吃肉 分数 10 全屏浏览 切换布局 作者 陈越 单位 浙江大学 国家给出了 8 岁男宝宝的标准身高为 130 厘米、标准体重为 27 公斤&#xff1b;8 岁女宝宝的标准身高为 129 厘米、标准体重为 25 公斤。 现在你要根据小宝宝的身高体重&#xff0c;给出补充营养的…

Abstract Factory抽象工厂模式详解

模式定义 提供一个创建一系列相关或互相依赖对象的接口&#xff0c;而无需指定它们具体的类。 代码示例 public class AbstractFactoryTest {public static void main(String[] args) {IDatabaseUtils iDatabaseUtils new OracleDataBaseUtils();IConnection connection …

前端页面助手 (vue)

快速开发页面&#xff08;图形化开发页面&#xff09; 自主编辑 然后自己也可以修改属性 最后导出页面即可 github地址 ;https://github.com/opentiny/tiny-engine

图灵奖简介及2023年获奖者Avi Wigderson的贡献

No.内容链接1Openlayers 【入门教程】 - 【源代码示例300】 2Leaflet 【入门教程】 - 【源代码图文示例 150】 3Cesium 【入门教程】 - 【源代码图文示例200】 4MapboxGL【入门教程】 - 【源代码图文示例150】 5前端就业宝典 【面试题详细答案 1000】 文章目录 2023年的…

9月BTE第8届广州国际生物技术大会暨展览会,全媒体聚焦下的高精尖行业盛会

政策春风助力&#xff0c;共迎大湾区生物医药行业50亿红利 今年3月“创新药”首次写入国务院政府工作报告之后&#xff0c;广州、珠海、北京多地政府纷纷同步出台了多项细化政策&#xff0c;广州最高支持额度高达50亿元&#xff0c;全链条为生物医药产业提供资金支持&#xff…

代码学习记录45---单调栈

随想录日记part45 t i m e &#xff1a; time&#xff1a; time&#xff1a; 2024.04.17 主要内容&#xff1a;今天开始要学习单调栈的相关知识了&#xff0c;今天的内容主要涉及&#xff1a;每日温度 &#xff1b;下一个更大元素 I 739. 每日温度 496.下一个更大元素 I Topic…

【力扣】55. 跳跃游戏 - 力扣(LeetCode)

Problem: 55. 跳跃游戏 记录自己解答的思路和代码 文章目录 问题思路复杂度Code 问题 思路 这个题的主要思路就是先找到0对应的位置&#xff0c;然后标记起来对应left&#xff0c;如果只有一个零&#xff0c;只需要left后面的数中有>1的数就能跳过去&#xff0c;如果是00&a…